SQL Queries Practice Set
अभ्यास कैसे करें
SQL सीखने का सबसे अच्छा तरीका ख़ुद queries लिखना है। नीचे 20 आम tasks answers के साथ हैं। हर एक को, पहले अपनी query लिखने की कोशिश कीजिए, फिर तुलना कीजिए। इन्हें छोटे sample database पर चलाइए और conditions बदलकर देखिए क्या बदलता है।
बुनियादी SELECT queries
1. सारे students: SELECT * FROM students;
2. सिर्फ़ names: SELECT name FROM students;
3. Unique cities: SELECT DISTINCT city FROM students;
4. पहली 5 rows: SELECT * FROM students LIMIT 5;
Filter और sort
5. 40 से ऊपर marks: SELECT * FROM students WHERE marks > 40;
6. Class 10 और pass: SELECT * FROM students WHERE class = 10 AND marks >= 33;
7. A से शुरू names: SELECT * FROM students WHERE name LIKE 'A%';
8. Marks से sorted (ऊँची से नीची): SELECT * FROM students ORDER BY marks DESC;
9. Top 3 scorers: SELECT * FROM students ORDER BY marks DESC LIMIT 3;
Aggregate queries
10. Students गिनो: SELECT COUNT(*) FROM students;
11. औसत marks: SELECT AVG(marks) FROM students;
12. सबसे ऊँचा और नीचा: SELECT MAX(marks), MIN(marks) FROM students;
13. प्रति class गिनती: SELECT class, COUNT(*) FROM students GROUP BY class;
14. 30 से ज़्यादा students वाली classes: SELECT class, COUNT(*) FROM students GROUP BY class HAVING COUNT(*) > 30;
Join queries
15. Students उनके class name के साथ:
SELECT s.name, c.class_name FROM students s JOIN classes c ON s.class_id = c.id;
16. Orders customer names के साथ:
SELECT o.id, cu.name FROM orders o JOIN customers cu ON o.customer_id = cu.id;
17. बिना orders वाले customers:
SELECT cu.name FROM customers cu LEFT JOIN orders o ON o.customer_id = cu.id WHERE o.id IS NULL;
कुछ कठिन
18. दूसरे सबसे ऊँचे marks:
SELECT DISTINCT marks FROM students ORDER BY marks DESC LIMIT 1 OFFSET 1;
19. प्रति महीना कुल sales:
SELECT DATE_FORMAT(order_date,'%Y-%m') AS m, SUM(amount) FROM orders GROUP BY m;
20. Duplicate emails:
SELECT email, COUNT(*) FROM users GROUP BY email HAVING COUNT(*) > 1;
अभ्यास tips
- पढ़ने से पहले लिखिए। हर query पहले खुद आज़माइए।
- सब चलाइए। Sample database इस्तेमाल करके असली output देखिए।
- Conditions बदलिए। उनका effect सीखने को WHERE, ORDER BY और GROUP BY tweak कीजिए।
- याद से दोबारा कीजिए। एक दिन बाद लौटकर कठिन वाले फिर लिखिए।
सारांश
- ख़ुद queries लिखकर अभ्यास कीजिए, फिर जाँचिए।
- WHERE, ORDER BY और LIMIT वाली SELECT में महारत पाइए।
- GROUP BY और HAVING वाली aggregates सीखिए।
- JOINs में सहज रहिए, "missing" rows को LEFT JOIN समेत।
- दूसरी सबसे ऊँची और duplicate detection जैसे classics अभ्यास कीजिए।
आगे, गहराई से जाइए GROUP BY और HAVING में, या और आज़माइए 50 MySQL queries में।
अक्सर पूछे जाने वाले प्रश्न (FAQ)
SQL queries कैसे अभ्यास करूँ?
अभ्यास को सबसे महत्वपूर्ण SQL queries क्या हैं?
SQL में rows कैसे filter करूँ?
WHERE marks >= 40 AND class = 10।