SELECT and SQL Functions
Querying data and using aggregate functions to summarise it.
SELECT and SQL Functions
SELECT SQL का सबसे commonly used command है। इसका उपयोग database table से required data को retrieve या display करने के लिए किया जाता है। SQL में विभिन्न functions का उपयोग data पर calculation, counting, formatting और अन्य operations करने के लिए भी किया जाता है।
SQL Functions: Data पर calculation और processing करने के लिए
What is SELECT Command?
SELECT command का उपयोग database की एक या अधिक tables से records प्राप्त करने के लिए किया जाता है। हम SELECT के साथ specific columns, सभी columns या condition के आधार पर selected records प्राप्त कर सकते हैं।
SELECT All Columns
किसी table के सभी columns और records देखने के लिए SELECT * का उपयोग किया जाता है।
SELECT * FROM Student;
RollNo Name Class Marks
101 Rahul 12 85
102 Priya 12 91
103 Aman 12 78
SELECT Specific Columns
यदि केवल कुछ specific columns की information चाहिए, तो SELECT के बाद उन columns के नाम लिखे जाते हैं।
SELECT Name, Marks
FROM Student;
Name Marks
Rahul 85
Priya 91
Aman 78
SELECT with WHERE
WHERE clause का उपयोग condition के आधार पर specific records प्राप्त करने के लिए किया जाता है।
SELECT *
FROM Student
WHERE Marks > 80;
RollNo Name Class Marks
101 Rahul 12 85
102 Priya 12 91
SELECT with ORDER BY
ORDER BY clause का उपयोग result को ascending या descending order में arrange करने के लिए किया जाता है।
Ascending Order
SELECT Name, Marks
FROM Student
ORDER BY Marks ASC;
Name Marks
Aman 78
Rahul 85
Priya 91
Descending Order
SELECT Name, Marks
FROM Student
ORDER BY Marks DESC;
Name Marks
Priya 91
Rahul 85
Aman 78
SELECT with DISTINCT
DISTINCT keyword duplicate values को हटाकर unique values display करने के लिए उपयोग किया जाता है।
SELECT DISTINCT Class
FROM Student;
Class
12
SQL Functions
SQL functions predefined operations हैं जो data पर calculation या processing करने में सहायता करते हैं। SQL functions को broadly Aggregate Functions और Scalar/Single-Row Functions में समझा जा सकता है।
Aggregate Functions
Aggregate functions multiple rows के data पर operation करके एक single result return करते हैं।
Common aggregate functions हैं:
- COUNT() – records की संख्या गिनता है।
- SUM() – values का total निकालता है।
- AVG() – average निकालता है।
- MAX() – maximum value निकालता है।
- MIN() – minimum value निकालता है।
COUNT() Function
COUNT() function records या non-null values की संख्या count करने के लिए उपयोग किया जाता है।
SELECT COUNT(*)
FROM Student;
3
यह query Student table में मौजूद कुल rows की संख्या return करेगी।
SUM() Function
SUM() function किसी numeric column की values का total निकालता है।
SELECT SUM(Marks)
FROM Student;
254
यहाँ 85 + 91 + 78 = 254 है।
AVG() Function
AVG() function numeric values का average निकालता है।
SELECT AVG(Marks)
FROM Student;
84.6667
MAX() Function
MAX() function किसी column की सबसे बड़ी value return करता है।
SELECT MAX(Marks)
FROM Student;
91
MIN() Function
MIN() function किसी column की सबसे छोटी value return करता है।
SELECT MIN(Marks)
FROM Student;
78
Using Multiple SQL Functions
एक ही SELECT statement में multiple aggregate functions का उपयोग किया जा सकता है।
SELECT
COUNT(*) AS TotalStudents,
SUM(Marks) AS TotalMarks,
AVG(Marks) AS AverageMarks,
MAX(Marks) AS HighestMarks,
MIN(Marks) AS LowestMarks
FROM Student;
TotalStudents TotalMarks AverageMarks HighestMarks LowestMarks
3 254 84.6667 91 78
SQL Functions with WHERE
Aggregate functions को WHERE clause के साथ भी उपयोग किया जा सकता है। इससे केवल matching records पर calculation होती है।
SELECT AVG(Marks)
FROM Student
WHERE Marks > 80;
88
यहाँ केवल 85 और 91 का average निकाला गया है।
GROUP BY with Aggregate Functions
GROUP BY का उपयोग records को किसी column के आधार पर groups में divide करने के लिए किया जाता है। Aggregate functions के साथ इसका उपयोग बहुत common है।
मान लीजिए Student table में अलग-अलग classes के students हैं:
| RollNo | Name | Class | Marks |
|---|---|---|---|
| 101 | Rahul | 11 | 75 |
| 102 | Priya | 11 | 85 |
| 103 | Aman | 12 | 78 |
| 104 | Neha | 12 | 92 |
प्रत्येक class के students की average marks निकालने के लिए:
SELECT Class, AVG(Marks) AS AverageMarks
FROM Student
GROUP BY Class;
Class AverageMarks
11 80
12 85
HAVING with Aggregate Functions
HAVING clause का उपयोग grouped results पर condition लगाने के लिए किया जाता है। यह सामान्यतः GROUP BY के साथ aggregate functions के बाद उपयोग होता है।
SELECT Class, AVG(Marks) AS AverageMarks
FROM Student
GROUP BY Class
HAVING AVG(Marks) > 80;
Class AverageMarks
12 85
String Functions
SQL में text या string values पर operations करने के लिए विभिन्न string functions उपलब्ध हैं। इनके exact names और behavior database system के अनुसार थोड़ा अलग हो सकते हैं।
UPPER()
UPPER() string को uppercase में convert करता है।
SELECT UPPER(Name)
FROM Student;
RAHUL
PRIYA
AMAN
LOWER()
LOWER() string को lowercase में convert करता है।
SELECT LOWER(Name)
FROM Student;
rahul
priya
aman
LENGTH()
LENGTH() function string की length return करता है।
SELECT Name, LENGTH(Name) AS NameLength
FROM Student;
Name NameLength
Rahul 5
Priya 5
Aman 4
Numeric Functions
Numeric functions numbers पर mathematical operations करने में सहायता करते हैं।
ROUND()
ROUND() किसी numeric value को specified decimal places तक round करता है।
SELECT ROUND(84.6667, 2) AS AverageMarks;
AverageMarks
84.67
Alias using AS
AS keyword का उपयोग result में column या expression को temporary नाम देने के लिए किया जाता है। इसे alias कहा जाता है।
SELECT Name AS StudentName,
Marks AS TotalMarks
FROM Student;
StudentName TotalMarks
Rahul 85
Priya 91
Aman 78
SELECT with Expression
SELECT statement में arithmetic expressions का उपयोग करके calculated values भी display की जा सकती हैं।
SELECT Name, Marks + 5 AS UpdatedMarks
FROM Student;
Name UpdatedMarks
Rahul 90
Priya 96
Aman 83
Common SELECT Clauses
| Clause | Purpose |
|---|---|
| SELECT | Required columns या expressions select करना |
| FROM | Table specify करना |
| WHERE | Rows पर condition लगाना |
| GROUP BY | Rows को groups में divide करना |
| HAVING | Groups पर condition लगाना |
| ORDER BY | Result को sort करना |
| DISTINCT | Duplicate results हटाना |
General SELECT Syntax
SELECT [DISTINCT] column1, column2
FROM table_name
WHERE condition
GROUP BY column
HAVING condition
ORDER BY column;
हर clause का उपयोग आवश्यक नहीं है। Query की आवश्यकता के अनुसार clauses को शामिल किया जाता है।
Aggregate Functions Summary
| Function | Purpose | Example |
|---|---|---|
| COUNT() | Number of records count करना | COUNT(*) |
| SUM() | Total निकालना | SUM(Marks) |
| AVG() | Average निकालना | AVG(Marks) |
| MAX() | Maximum value निकालना | MAX(Marks) |
| MIN() | Minimum value निकालना | MIN(Marks) |
Important Points
- SELECT का उपयोग database से data retrieve करने के लिए किया जाता है।
- * का उपयोग सभी columns select करने के लिए किया जाता है।
- WHERE specific rows को filter करता है।
- DISTINCT duplicate values को हटाकर unique values देता है।
- ORDER BY result को sort करता है।
- GROUP BY records को groups में divide करता है।
- HAVING grouped results पर condition लगाता है।
- COUNT() records की संख्या निकालता है।
- SUM() values का total निकालता है।
- AVG() average निकालता है।
- MAX() highest value देता है।
- MIN() lowest value देता है।
- AS column या expression को alias देने के लिए उपयोग किया जाता है।
Board Focus
SELECT → Data retrieve करना
WHERE → Rows filter करना
DISTINCT → Duplicate values हटाना
ORDER BY → Data sort करना
GROUP BY → Records को groups में divide करना
HAVING → Groups पर condition लगाना
COUNT() → Count
SUM() → Total
AVG() → Average
MAX() → Highest value
MIN() → Lowest value
Board Important Questions
Very Short Answer Questions
Q1. SELECT command का क्या उपयोग है?
Answer: Database table से data retrieve करने के लिए।
Q2. SELECT * का क्या अर्थ है?
Answer: Table के सभी columns को select करना।
Q3. SQL में duplicate values हटाने के लिए कौन-सा keyword उपयोग होता है?
Answer: DISTINCT.
Q4. Records को ascending या descending order में arrange करने के लिए कौन-सा clause उपयोग होता है?
Answer: ORDER BY.
Q5. SQL में records की संख्या गिनने के लिए कौन-सा function उपयोग होता है?
Answer: COUNT().
Q6. Values का total निकालने के लिए कौन-सा function उपयोग होता है?
Answer: SUM().
Q7. Average निकालने के लिए कौन-सा function उपयोग होता है?
Answer: AVG().
Q8. Maximum value निकालने के लिए कौन-सा function उपयोग होता है?
Answer: MAX().
Q9. Minimum value निकालने के लिए कौन-सा function उपयोग होता है?
Answer: MIN().
Q10. GROUP BY का क्या उपयोग है?
Answer: Records को specified column के आधार पर groups में divide करने के लिए।
Short Answer Questions
Q11. SELECT command को उदाहरण सहित समझाइए।
Answer: SELECT command का उपयोग database table से required data retrieve करने के लिए किया जाता है।
SELECT Name, Marks
FROM Student;
Name Marks
Rahul 85
Priya 91
Aman 78
Q12. COUNT(), SUM() और AVG() functions को समझाइए।
Answer: COUNT() records की संख्या, SUM() values का total और AVG() values का average निकालता है।
SELECT COUNT(*) AS Total,
SUM(Marks) AS TotalMarks,
AVG(Marks) AS AverageMarks
FROM Student;
Total TotalMarks AverageMarks
3 254 84.6667
Q13. WHERE और HAVING में अंतर बताइए।
Answer: WHERE individual rows पर condition लगाने के लिए उपयोग होता है, जबकि HAVING GROUP BY के बाद grouped results पर condition लगाने के लिए उपयोग होता है।
Q14. ORDER BY clause क्या है?
Answer: ORDER BY result को किसी column के आधार पर ascending या descending order में arrange करने के लिए उपयोग किया जाता है।
Q15. Aggregate function क्या है?
Answer: Aggregate function multiple rows के data पर operation करके एक summarized result देता है। COUNT(), SUM(), AVG(), MAX() और MIN() इसके common examples हैं।
Long Answer Questions
Q16. SQL के प्रमुख aggregate functions को उदाहरण सहित समझाइए।
Answer: SQL के प्रमुख aggregate functions COUNT(), SUM(), AVG(), MAX() और MIN() हैं। COUNT records की संख्या, SUM total, AVG average, MAX highest और MIN lowest value प्राप्त करने के लिए उपयोग होते हैं।
SELECT
COUNT(*) AS TotalStudents,
SUM(Marks) AS TotalMarks,
AVG(Marks) AS AverageMarks,
MAX(Marks) AS HighestMarks,
MIN(Marks) AS LowestMarks
FROM Student;
TotalStudents TotalMarks AverageMarks HighestMarks LowestMarks
3 254 84.6667 91 78
Q17. GROUP BY और HAVING को उदाहरण सहित समझाइए।
Answer: GROUP BY records को groups में divide करता है और HAVING grouped results पर condition apply करता है।
SELECT Class, AVG(Marks) AS AverageMarks
FROM Student
GROUP BY Class
HAVING AVG(Marks) > 80;
Class AverageMarks
12 85
Q18. SELECT command में WHERE और ORDER BY का उपयोग उदाहरण सहित समझाइए।
SELECT Name, Marks
FROM Student
WHERE Marks > 80
ORDER BY Marks DESC;
Name Marks
Priya 91
Rahul 85
यह query पहले 80 से अधिक marks वाले students को select करती है और फिर उनके marks को descending order में arrange करती है।
Practice Questions
- SELECT command क्या है?
- SELECT * का क्या उपयोग है?
- Specific columns select करने का SQL syntax लिखिए।
- WHERE clause का उपयोग समझाइए।
- DISTINCT keyword क्या है?
- ORDER BY clause क्या है?
- ASC और DESC में अंतर लिखिए।
- SQL function क्या है?
- Aggregate functions क्या हैं?
- COUNT() function का उपयोग लिखिए।
- SUM() function का उपयोग लिखिए।
- AVG() function का उपयोग लिखिए।
- MAX() और MIN() functions का उपयोग लिखिए।
- GROUP BY clause क्या है?
- HAVING clause क्या है?
- WHERE और HAVING में अंतर लिखिए।
- COUNT(), SUM() और AVG() को उदाहरण सहित समझाइए।
- GROUP BY और HAVING को उदाहरण सहित समझाइए।
- SELECT command में WHERE और ORDER BY का उपयोग करके query लिखिए।
- SQL के प्रमुख aggregate functions की व्याख्या कीजिए।
Quick Revision
- SELECT: Data retrieve करता है।
- WHERE: Rows filter करता है।
- DISTINCT: Duplicate values हटाता है।
- ORDER BY: Result को sort करता है।
- GROUP BY: Records को groups में divide करता है।
- HAVING: Groups पर condition लगाता है।
- COUNT(): Records count करता है।
- SUM(): Total निकालता है।
- AVG(): Average निकालता है।
- MAX(): Highest value देता है।
- MIN(): Lowest value देता है।
- AS: Alias देने के लिए उपयोग होता है।