Klauzula WHERE w SQL

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

Opublikowano: Zaktualizowano:

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 OR zamiast AND, 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.