Co to jest klauzula WHERE w SQL?
Klauzula WHERE służy do filtrowania rekordów w zapytaniu SQL. Dzięki niej wybieramy tylko te wiersze, które spełniają określony warunek, np. dotyczą konkretnego producenta, typu produktu albo zakresu cen.
W pytaniach egzaminacyjnych WHERE bardzo często występuje razem z SELECT i ORDER BY.
Składnia
SELECT kolumny
FROM tabela
WHERE warunek;
Przykład
Jeśli tabela podzespoly zawiera pola model, producent, typ, cena, to zapytanie:
SELECT model
FROM podzespoly
WHERE typ='RAM';
zwróci tylko modele tych podzespołów, których typ to RAM.
Łączenie warunków
W klauzuli WHERE można używać operatorów logicznych:
AND– oba warunki muszą być prawdziwe,OR– wystarczy, że prawdziwy jest jeden warunek,NOT– zaprzeczenie warunku.
Przykład poprawnego zawężenia wyników:
SELECT model
FROM podzespoly
WHERE typ='RAM' AND producent='Kingston';
To zapytanie wybiera tylko te rekordy, które jednocześnie:
- mają typ RAM,
- mają producenta Kingston.
Najczęstsze błędy
- użycie
ORzamiastAND, co daje zbyt wiele wyników, - odwołanie do złej tabeli w
FROM, - literówki w nazwach kolumn,
- brak apostrofów przy wartościach tekstowych.
Wskazówka egzaminacyjna
Jeśli w treści zadania pojawia się kilka warunków jednocześnie, np. typ = RAM i producent = Kingston, to zwykle trzeba użyć AND, a nie OR. WHERE odpowiada za wybór właściwych rekordów jeszcze przed ich sortowaniem.