Lesson 03 � Filter

SAB DATA NAHI,
SIRF ZARURI DATA.

SELECT se saara data aa jaata hai�lekin kabhi kabhi sirf woh chahiye jo condition match kare. WHERE clause se aap table ke rows ko filter kar sakte ho, bilkul Excel ke filter jaisa.

? 20 min✓ Beginner✓ Prerequisite: SELECT

WHY: WHERE kyun zaruri hai?

Socho ek school database hai jisme 500 students hain. Aapko sirf un students ka naam chahiye jinke marks 80 se zyada hain. Bina WHERE ke aapko saare 500 records milenge�phir manually dekhna padega. WHERE ek logical gate hai jo sirf woh rows deta hai jo aapki condition satisfy karein.

WHERE

Row-level filter lagana. Har row par condition check hoti hai�jo true hai, woh result mein aata hai.

AND / OR

Multiple conditions ek saath lagana. AND mein dono true chahiye; OR mein koi ek bhi kaafi hai.

BETWEEN / IN / LIKE

Special operators�range check (BETWEEN), list check (IN), aur pattern match (LIKE).

HOW: WHERE ka syntax

WHERE SELECT ya DELETE/UPDATE ke saath use hota hai. Condition ke baad comparison operator lagta hai: =, >, <, >=, <=, != ya <>.

1. Basic WHERE

Sirf woh students dikhao jinke marks 80 se zyada hain:

sql
SELECT * FROM students WHERE marks > 80;

2. AND � dono conditions true honi chahiye

Marks 80 se zyada HO AUR course Python HO:

sql
SELECT * FROM students WHERE marks > 80 AND course = 'Python';

3. OR � koi ek condition true ho

Python ya SQL ya Data Science wale students:

sql
SELECT * FROM students WHERE course = 'Python' OR course = 'SQL';

4. BETWEEN � range check

Marks 80 se 95 ke beech:

sql
SELECT * FROM students WHERE marks BETWEEN 80 AND 95;
Remember: BETWEEN inclusive hai�80 aur 95 dono included hain.

5. IN � list mein check

Teen courses mein se koi ek ho:

sql
SELECT * FROM students WHERE course IN ('Python', 'SQL', 'Data Science');

6. LIKE � pattern match

Naam ka pattern match karo. % koi bhi characters ka wildcard hai:

sql
SELECT * FROM students WHERE name LIKE 'A%'; -- A se start
SELECT * FROM students WHERE name LIKE '%a'; -- a se end
SELECT * FROM students WHERE name LIKE '%man%'; -- man beech mein

7. IS NULL � empty value check

Jin students ke marks abhi enter nahi hue:

sql
SELECT * FROM students WHERE marks IS NULL;
Note: NULL ke saath = ya != kaam nahi karta. Hamesha IS NULL ya IS NOT NULL use karo.

8. NOT � condition ko reverse karo

sql
SELECT * FROM students WHERE course NOT IN ('Python');

Operators ka quick reference

sql
-- Comparison
= -- equal
!= or <> -- not equal
> -- greater than
< -- less than
>= -- greater or equal
<= -- less or equal

-- Logical
AND -- both true
OR -- either true
NOT -- reverse

-- Special
BETWEEN a AND b -- range (inclusive)
IN (v1, v2, v3) -- list match
LIKE 'pattern' -- pattern match
IS NULL -- empty check

Try it: apne conditions lagao

Neeche diye gaye SQL queries ko editor mein modify karo aur dekho output kaise badalta hai. Pehle basic WHERE try karo, phir AND/OR add karo.

SQL playgroundBrowser mein query run karo
Run query dabayein

Exercise

WHERE clause likho jo marks 80 se zyada aur course 'Python' ho.

Dono conditions ko AND se join karo: marks > 80 aur course = 'Python'.

Common beginner mistakes

WHERE clause clear hai?

Ab data ko sort karna seekho�ORDER BY se rows ko ascending ya descending order mein arrange karo.