Warunek WHERE oraz operatory AND i OR w SQL
Klauzula WHERE służy do filtrowania rekordów w zapytaniu SQL. Dzięki niej można pobrać tylko te wiersze, które spełniają określony warunek.
Podstawowy przykład
SELECT nazwa
FROM sklepy
WHERE miasto = 'Wrocław';
To zapytanie zwróci nazwy sklepów znajdujących się we Wrocławiu.
Operator AND
Operator AND oznacza, że wszystkie warunki muszą być spełnione jednocześnie.
SELECT nazwa
FROM sklepy
WHERE branza = 'spożywczy' AND miasto = 'Wrocław';
Zapytanie zwróci tylko te sklepy, które są jednocześnie:
- z branży spożywczej,
- znajdują się we Wrocławiu.
To właściwy wybór, gdy w treści pojawia się sformułowanie typu: „sklepy spożywcze znajdujące się we Wrocławiu”.
Operator OR
Operator OR oznacza, że wystarczy spełnienie jednego z warunków.
SELECT nazwa
FROM sklepy
WHERE branza = 'spożywczy' OR miasto = 'Wrocław';
Takie zapytanie zwróci sklepy spożywcze z dowolnego miasta oraz wszystkie sklepy z Wrocławia, niezależnie od branży. Nie spełnia więc warunku „spożywcze wyłącznie we Wrocławiu”.
Najważniejsza zasada egzaminacyjna
Jeśli rekord ma spełniać kilka warunków naraz, użyj AND. Jeśli ma spełniać przynajmniej jeden z kilku warunków, użyj OR.