Exam में 80%+ score करें और जीतें Certificate + Gifts!
- ✅ पूरा course free
- 🎓 Final Exam में 80%+ = Certificate
- 📝 50 Questions
- 🎁 Cheat Sheet + Gifts + बहुत कुछ
🧭 SQL बिल्कुल नहीं आता? बस ये 4 बातें समझ लीजिए!
SQL कोई कठिन programming नहीं है। सोचिए आपके पास एक Excel Sheet खुली है और आप उसे type करके बोल रहे हैं कि क्या करना है:
SELECT (क्या देखना है) + FROM (किस sheet से) + WHERE (क्या filter है)।
⚡ Live Interactive SQL Sandbox (Browser Engine)
AlaSQL Engine Activeयहाँ आप live SQL queries चलाकर देख सकते हैं! नीचे दिए गए quick buttons पर click करें या अपना SQL code लिखकर Run Query (Ctrl + Enter) दबाएँ:
🗄️ Active Sandbox Data Tables (हमारा Sample Data)
Sheet 1: Customers 4 Rows
| CustomerID | CustomerName | City | Country |
|---|---|---|---|
| 1 | Amit Sharma | Delhi | India |
| 2 | Pooja Verma | Mumbai | India |
| 3 | John Miller | Berlin | Germany |
| 4 | Sara Smith | London | UK |
Sheet 2: Employees 4 Rows
| EmpID | Name | dept_id | Salary |
|---|---|---|---|
| 101 | Rahul Roy | 10 | 65000 |
| 102 | Sneha Rao | 20 | 48000 |
| 103 | Vikas Jain | 10 | 72000 |
| 104 | Karan Mehta | NULL | 42000 |
Sheet 3: Products 4 Rows
| ProductID | ProductName | Price | SupplierID |
|---|---|---|---|
| 1 | Mechanical Keyboard | 45 | 1 |
| 2 | Gaming Mouse | 25 | 1 |
| 3 | HD Monitor | 180 | 2 |
| 4 | USB Hub | 15 | 3 |
1. SQL Basics & Queries (रोज़मर्रा की Basic Commands)
SQL SELECT & FROM
देखो भाई, Sheet में से बस अपनी पसंद के columns का data निकालना है।
* (star) लगा दो, बहुत सिंपल है।
SQL SELECT DISTINCT
जो values repeat हो रही हैं, उन्हें हटाकर सिर्फ़ unique values देखना।
SQL WHERE
एक शर्त लगाओ, और सिर्फ़ वही rows आएँगी जो उस शर्त पर फ़िट बैठती हैं।
SQL AND, OR, NOT
एक से ज़्यादा शर्तों को एक साथ जोड़ना, ठीक है?
SQL ORDER BY
Data को छोटे से बड़ा या बड़े से छोटा क्रम में लगाना।
SQL INSERT INTO
Table में बिल्कुल नई row जोड़ना, यार।
SQL UPDATE
जो data गलत पड़ा है उसे ठीक करना, पूरी table नहीं बदलनी।
SQL DELETE
Table से कोई row हमेशा के लिए हटाना।
SQL LIMIT / TOP
सिर्फ़ शुरू के कुछ records देखना। (MySQL / PostgreSQL / SQLite में LIMIT, SQL Server / MS Access में TOP)
SQL NULL Values
देखो, खाली box है या नहीं, यह check करना।
= NULL नहीं, IS NULL लिखते हैं।
2. SQL Aggregate Functions (Automatic गणित और हिसाब)
SQL MIN() & MAX()
सबसे छोटा और सबसे बड़ा number निकालना।
SQL COUNT(), SUM(), AVG()
कितने हैं, कुल कितना बना, और औसत कितना है, यह निकालना।
3. Advanced Querying & Joins (Smart Search और दो Sheets मिलाना)
SQL LIKE & Wildcards (%)
नाम के शुरू या आख़िरी अक्षरों से search करना।
SQL BETWEEN & IN
एक range के बीच या कुछ चुने हुए options में से ढूँढना।
SQL Aliases (AS)
Column को एक नया, अच्छा सा नाम दे देना, बस।
cust_first_nm है, पर screen पर Client_Name दिखाना है। यही alias करता है।
SQL INNER JOIN
दो अलग sheets को common ID से आपस में जोड़ना।
dept_id से मिलाकर एक बड़ी table बना लो, यही JOIN है।
SQL GROUP BY & HAVING
एक जैसी values वाली rows के group बनाकर summary निकालना।
SQL CASE Statement
Condition के हिसाब से फ़ैसला लेना, यानी if-else।
SQL COALESCE / IFNULL
खाली (NULL) जगह पर कोई default value दिखा देना।
SQL UNION
दो lists को एक के नीचे एक जोड़कर एक लंबी list बनाना।
4. Database & Table Management (नई File और Sheet बनाना)
SQL CREATE TABLE
बिल्कुल नई खाली table तैयार करना।
SQL ALTER TABLE
बनी हुई table में नया column जोड़ना या हटाना।
SQL Primary Key
हर row की एक अनोखी पहचान बनाने वाला ID number।
SQL AUTO_INCREMENT / IDENTITY
हर नई entry के साथ ID अपने-आप 1, 2, 3 बढ़ती जाए। (MySQL में AUTO_INCREMENT, SQL Server में IDENTITY)
5. Stored Procedures & Security (Shortcut और सुरक्षा)
SQL Stored Procedure
बड़ी query को एक नाम देकर save कर लेना, बार-बार लिखनी नहीं पड़ेगी। (MySQL में CALL, SQL Server में EXEC)
DELIMITER इसलिए बदलते हैं ताकि procedure के अंदर का ; पूरी command को बीच में न काट दे। PostgreSQL (11+) में भी CALL चलता है, पर procedure की body लिखने का तरीका अलग है।
SQL Comments (--)
Code के साथ अपने लिए note छोड़ना।
GROUP BY लगाकर HAVING COUNT(*) > 1 check करते हैं, तो सारे duplicate records निकलकर आ जाते हैं:
| Feature | DELETE (DML) | TRUNCATE (DDL) | DROP (DDL) |
|---|---|---|---|
| करता क्या है | Rows को एक-एक करके हटाता है | सारी rows को एक झटके में खाली करता है | Table और उसके structure दोनों को मिटा देता है |
| WHERE Clause | हाँ (Specific rows filter कर सकते हैं) | नहीं (पूरी sheet साफ़ होगी) | नहीं |
| Rollback | हाँ (Transactions के साथ वापस आ सकता है) | नहीं (बहुत मुश्किल / Engine dependent) | नहीं (Permanently delete) |
| Speed | Slow (हर row का log बनता है) | Very Fast (Storage de-allocate करता है) | Fastest |
e और m) देकर आपस में जोड़ने को SELF JOIN कहते हैं:
SUM(), AVG() नहीं चलते।• HAVING:
GROUP BY होने के बाद calculated summary पर filter लगाता है (जैसे HAVING COUNT(*) > 2)।
2. NULL Value: Primary key कभी भी
NULL नहीं हो सकती। लेकिन Unique key में NULL allow होता है।3. उपयोग: Primary Key row की पहचान होती है। Unique key extra unique data के लिए होती है।
- ROW_NUMBER(): हमेशा लगातार अलग number देगा:
1, 2, 3, 4. - RANK(): बराबर आने पर rank repeat करेगा, फिर अगला number skip करेगा:
1, 2, 2, 4. - DENSE_RANK(): बराबर आने पर rank repeat करेगा, और कोई number skip नहीं करेगा:
1, 2, 2, 3.
' OR '1'='1 लिखकर बिना password के data access कर लेता है।बचाव (Defense): हमेशा Parameterized Queries (Prepared Statements) का use करें।
• फ़ायदा (Pros):
SELECT और WHERE search speed 100x fast हो जाती है।• नुकसान (Cons): Write operation (
INSERT/UPDATE) थोड़ा slow हो जाता है और extra storage लगती है।
📁 Database Schema:
1. Users (ग्राहक) 5 Rows
| user_id | name | city |
|---|---|---|
| 1 | Aman Gupta | Delhi |
| 2 | Riya Sen | Mumbai |
| 3 | Kabir Das | Delhi |
| 4 | Neha Sharma | Bangalore |
| 5 | Varun Joshi | Jaipur |
2. Items (सामान) 4 Rows
| item_id | title | price (₹) |
|---|---|---|
| 101 | Wireless Earbuds | 1200 |
| 102 | Fast Charger | 500 |
| 103 | Smart Watch | 2500 |
| 104 | Laptop Stand | 800 |
3. Orders (Sales Record) 5 Rows
| order_id | user_id | item_id | status |
|---|---|---|---|
| 501 | 1 | 101 | Delivered |
| 502 | 2 | 103 | Delivered |
| 503 | 1 | 102 | Delivered |
| 504 | 3 | 103 | Cancelled |
| 505 | 4 | 104 | Delivered |