SQL, PostgreSQL, MySQL, SQLite और SQL Server जैसे रिलेशनल डेटाबेस के साथ काम करने की भाषा है। यह चीट शीट मुख्य SQL स्टेटमेंट को कार्य के अनुसार समूहित करती है — क्वेरी, फ़िल्टरिंग, टेबल जॉइन करना, एग्रीगेशन और डेटा बदलना — ताकि आप सही सिंटैक्स तेज़ी से ढूंढ सकें।
यहां दिखाए गए स्टेटमेंट मानक SQL का उपयोग करते हैं जो अधिकांश डेटाबेस में काम करता है, केवल मामूली डायलेक्ट अंतर के साथ। क्वेरी लिखते समय इस पेज को त्वरित संदर्भ के रूप में बुकमार्क रखें।
Querying Data
| Statement | What it does |
|---|
SELECT * FROM table; | Return every column and row from a table. |
SELECT col1, col2 FROM table; | Return only the listed columns. |
SELECT DISTINCT col FROM table; | Return only unique values of a column. |
SELECT * FROM table WHERE condition; | Return only rows matching a condition. |
SELECT * FROM table LIMIT 10; | Return only the first 10 rows. |
SELECT * FROM table ORDER BY col DESC; | Sort the result descending by a column. |
SELECT col AS alias FROM table; | Rename a column in the output. |
Filtering (WHERE)
| Statement | What it does |
|---|
WHERE col = 'value' | Match an exact value. |
WHERE col LIKE 'a%' | Match a pattern — here, values starting with 'a'. |
WHERE col IN (1, 2, 3) | Match any value in a list. |
WHERE col BETWEEN 1 AND 10 | Match an inclusive range. |
WHERE col IS NULL | Match rows where the column has no value. |
WHERE a = 1 AND b = 2 | Combine conditions that must all be true. |
WHERE a = 1 OR b = 2 | Match rows where either condition is true. |
Joining Tables
| Statement | What it does |
|---|
INNER JOIN b ON a.id = b.a_id | Rows with a match in both tables. |
LEFT JOIN b ON a.id = b.a_id | All left-table rows plus matches from the right. |
RIGHT JOIN b ON a.id = b.a_id | All right-table rows plus matches from the left. |
FULL OUTER JOIN b ON a.id = b.a_id | All rows from both tables, matched where possible. |
CROSS JOIN b | Every combination of rows (Cartesian product). |
Aggregation
| Statement | What it does |
|---|
COUNT(*) | Count the number of rows. |
SUM(col) | Add up the values in a column. |
AVG(col) | Average the values in a column. |
MIN(col) / MAX(col) | Smallest / largest value in a column. |
GROUP BY col | Group rows so aggregates apply per group. |
HAVING COUNT(*) > 1 | Filter groups after aggregation. |
Modifying Data
| Statement | What it does |
|---|
INSERT INTO table (a, b) VALUES (1, 2); | Add a new row. |
UPDATE table SET a = 1 WHERE id = 5; | Change values in existing rows. |
DELETE FROM table WHERE id = 5; | Remove rows that match a condition. |
TRUNCATE TABLE table; | Remove all rows quickly, keeping the table. |
Defining Tables
| Statement | What it does |
|---|
CREATE TABLE t (id INT PRIMARY KEY); | Create a new table with a primary key. |
ALTER TABLE t ADD col TYPE; | Add a column to an existing table. |
DROP TABLE t; | Delete a table and all of its data. |
CREATE INDEX idx ON t (col); | Add an index to speed up lookups on a column. |
SQL कमांड्स चीट शीट से जुड़े सामान्य प्रश्न
WHERE और HAVING में क्या अंतर है?
WHERE पंक्तियों को समूहित होने से पहले फ़िल्टर करता है। HAVING, GROUP BY एग्रीगेशन के बाद समूहों को फ़िल्टर करता है। पंक्ति शर्तों के लिए WHERE और COUNT(*) > 1 जैसे एग्रीगेट परिणामों की शर्तों के लिए HAVING उपयोग करें।
INNER JOIN और LEFT JOIN में क्या अंतर है?
INNER JOIN केवल वे पंक्तियां लौटाता है जिनका दोनों टेबल में मैच हो। LEFT JOIN बाईं टेबल की हर पंक्ति और दाईं टेबल की मैचिंग पंक्तियां लौटाता है, जहां मैच न हो वहां NULL भरता है।
DELETE, TRUNCATE और DROP में क्या अंतर है?
DELETE विशिष्ट पंक्तियां हटाता है और WHERE क्लॉज़ उपयोग कर सकता है। TRUNCATE सभी पंक्तियां तेज़ी से हटाता है लेकिन टेबल संरचना रखता है। DROP पूरी टेबल को उसकी संरचना और डेटा सहित हटा देता है।
मैं SQL टेबल में पंक्तियां कैसे गिनूं?
कुल पंक्ति संख्या के लिए SELECT COUNT(*) FROM table; उपयोग करें, या प्रति समूह गिनने के लिए GROUP BY column जोड़ें। केवल उन पंक्तियों को गिनने के लिए जहां कॉलम NULL नहीं है, COUNT(column) उपयोग करें।
SQL में GROUP BY क्या करता है?
GROUP BY उन पंक्तियों को एक समूह में समेटता है जिनके एक या अधिक कॉलम में समान मान हों, ताकि SUM, AVG और COUNT जैसे एग्रीगेट फ़ंक्शन पूरी टेबल के बजाय प्रति समूह एक परिणाम लौटाएं।
मैं SQL क्वेरी परिणामों को कैसे सॉर्ट करूं?
क्वेरी के अंत में ORDER BY column जोड़ें। बढ़ते क्रम (डिफ़ॉल्ट) के लिए ASC या घटते क्रम के लिए DESC उपयोग करें। आप कई कॉलम से सॉर्ट कर सकते हैं, उदाहरण के लिए ORDER BY last_name, first_name।
मैं SQL में पैटर्न कैसे मैच करूं?
वाइल्डकार्ड के साथ LIKE उपयोग करें: % किसी भी अक्षर अनुक्रम को और _ एकल अक्षर को मैच करता है। उदाहरण के लिए, WHERE name LIKE 'A%' A से शुरू होने वाले किसी भी नाम को मैच करता है।