Klauzula WHERE w SQL

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

WHERE służy do filtrowania rekordów zwracanych przez zapytanie SQL. Dzięki niej można wskazać warunek, który musi spełnić wiersz, aby znalazł się w wyniku.

Najczęściej używa się jej w zapytaniach SELECT, ale występuje też przy instrukcjach UPDATE i DELETE.

Składnia

SELECT kolumna
FROM tabela
WHERE warunek;

Przykład:

SELECT nazwa
FROM zwierzeta
WHERE dlugosc_zycia >= 20;

To zapytanie zwróci nazwy zwierząt, których długość życia jest większa lub równa 20.

Operatory porównania w WHERE

W warunkach można stosować m.in.:

  • = — równe,
  • <> lub != — różne,
  • > — większe,
  • < — mniejsze,
  • >= — większe lub równe,
  • <= — mniejsze lub równe.

Dla tekstu wartości zapisuje się zwykle w apostrofach:

WHERE gromada = 'ssak'

Łączenie warunków

Jeśli rekord ma spełniać kilka warunków jednocześnie, stosuje się operator AND:

SELECT nazwa
FROM zwierzeta
WHERE dlugosc_zycia >= 20 AND gromada = 'ssak';

To oznacza: zwróć tylko te zwierzęta, które żyją co najmniej 20 lat i są ssakami.

Typowy błąd egzaminacyjny

Operator OR oznacza „lub”, więc zwróci rekordy spełniające przynajmniej jeden z warunków. Jeśli w treści występuje słowo „oraz”, najczęściej potrzebny jest AND, a nie OR.