WHERE менен саптарды чыпкалоо
Таблицадан өзүңүзгө чын эле керек болгон саптарды гана сураңыз
WHERE шарты - бул сиз жазган текшерүү. SQL аны ар бир сапка колдонуп, текшерүүдөн өткөн саптарды гана калтырат.
- маанилерди
=,<>,<,>,<=,>=менен салыштыруу, - текшерүүлөрдү
AND,OR,NOTменен бириктирүү жана кашаалар менен тартипти башкаруу, - диапазонду
BETWEENменен берүү, - кыска тизмени
INменен берүү, - текст үлгүсүн
LIKEжана%,_белгилери менен издөө.
1. WHERE эмне кылат?
Майрамдын киришиндеги кайтаруучуну элестетиңиз. Ар бир конок келет, кайтаруучу бир эрежени текшерет ("сиз тизмедесизби?"), жана ичкери өткөндөр гана киришет. WHERE - бул сиздин саптарыңыз үчүн ушундай кайтаруучу. Сиз бир эреже жазасыз, SQL аны ар бир сап үчүн текшерет, жана эреже чын болгон саптар гана кайтарылат.
SELECT ... FROM ... менен өткөн темада тааныштыңыз. WHERE - бул FROM дан кийин кошулуучу жаңы сап:
SELECT columns
FROM table
WHERE condition;
Үн чыгарып окуп көрүңүз: "Бул таблицадан ушул тилкелерди ал, бирок шарт чын болгон саптарды гана".
2. Биздин мисал-таблица
Төмөндөгү бардык суроо-талаптар бир кичинекей students таблицасы менен иштейт. Ичинде эмне бар экенин так элестетишиңиз үчүн, ал ушундай түзүлөт:
CREATE TABLE students (
id INT,
name VARCHAR(20),
age INT,
grade INT,
city VARCHAR(20),
score INT
);
INSERT INTO students VALUES
(1, 'Sara', 12, 7, 'London', 85),
(2, 'Omar', 13, 8, 'Paris', 60),
(3, 'Mia', 12, 7, 'London', 92),
(4, 'Leo', 14, 9, 'Berlin', 45),
(5, 'Nina', 13, 8, 'Paris', 78),
(6, 'Adam', 12, 7, 'Madrid', 88);
Бул бизге ушул алты сапты берет:
| id | name | age | grade | city | score |
|---|---|---|---|---|---|
| 1 | Sara | 12 | 7 | London | 85 |
| 2 | Omar | 13 | 8 | Paris | 60 |
| 3 | Mia | 12 | 7 | London | 92 |
| 4 | Leo | 14 | 9 | Berlin | 45 |
| 5 | Nina | 13 | 8 | Paris | 78 |
| 6 | Adam | 12 | 7 | Madrid | 88 |
Бул таблицаны эсиңизде сактаңыз. Ар бир суроо-талап үчүн биз суроо беребиз, ал эми сиз жоопту ушул саптар боюнча өзүңүз текшере аласыз.