SQL SELECT DISTINCT क्या है
SQL SELECT DISTINCT Statement का उपयोग table से duplicate values हटाकर unique values retrieve करने के लिए किया जाता है। जब किसी column में same value कई बार मौजूद होती है, तब DISTINCT keyword केवल अलग-अलग values को return करता है।
SELECT DISTINCT आमतौर पर reporting, filtering और data analysis में उपयोग किया जाता है।
SELECT DISTINCT Syntax
SELECT DISTINCT column_name
FROM table_name;
Multiple columns के साथ:
SELECT DISTINCT column1, column2
FROM table_name;
Example Table
मान लीजिए हमारे पास students नाम की table है:
| id | name | city | course |
|---|---|---|---|
| 1 | Rahul | Delhi | SQL |
| 2 | Aman | Delhi | SQL |
| 3 | Neha | Mumbai | Python |
| 4 | Rohit | Delhi | Python |
Example 1: Single Column DISTINCT
SELECT DISTINCT city
FROM students;
Result:
- Delhi
- Mumbai
यह query city column से duplicate values हटाकर सिर्फ unique cities return करती है।
Example 2: Multiple Columns DISTINCT
SELECT DISTINCT city, course
FROM students;
यह query city और course के unique combinations return करेगी।
Result:
- Delhi, SQL
- Mumbai, Python
- Delhi, Python
SELECT DISTINCT with WHERE Clause
DISTINCT को WHERE clause के साथ भी use किया जा सकता है।
SELECT DISTINCT course
FROM students
WHERE city = 'Delhi';
यह query Delhi city के students के unique courses return करेगी।
SELECT DISTINCT with ORDER BY
DISTINCT के result को ORDER BY से sort किया जा सकता है।
SELECT DISTINCT city
FROM students
ORDER BY city ASC;
DISTINCT और NULL Values
DISTINCT NULL values को भी consider करता है, लेकिन multiple NULL values को एक ही value माना जाता है।
Example:
SELECT DISTINCT course
FROM students;
अगर course column में कई NULL हों, तो result में NULL सिर्फ एक बार दिखाई देगा।
DISTINCT vs GROUP BY
SELECT DISTINCT और GROUP BY दोनों unique values निकाल सकते हैं, लेकिन उनका use-case अलग होता है।
| SELECT DISTINCT | GROUP BY |
|---|---|
| Simple unique values के लिए | Aggregation के लिए |
| Syntax simple होता है | Complex queries के लिए |
| Functions optional | Functions के साथ ज्यादा useful |
Example using GROUP BY:
SELECT city
FROM students
GROUP BY city;
Performance Consideration
- SELECT DISTINCT large tables पर performance impact डाल सकता है
- Proper indexing से performance improve होती है
- Unnecessary DISTINCT avoid करना चाहिए
Common Mistakes
- DISTINCT को column के बाद लगाना
- DISTINCT और COUNT syntax confuse करना
Incorrect example:
SELECT city DISTINCT
FROM students;
Correct example:
SELECT DISTINCT city
FROM students;
Summary
- SELECT DISTINCT duplicate values हटाने के लिए use होता है
- Single और multiple columns दोनों के साथ काम करता है
- WHERE और ORDER BY के साथ use किया जा सकता है
- NULL values result में एक बार आती हैं
