Operatory AND i OR w SQL

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

Operatory AND i OR służą do łączenia warunków w zapytaniach SQL, najczęściej w klauzuli WHERE.

Operator AND

AND oznacza, że wszystkie warunki muszą być spełnione jednocześnie.

SELECT *
FROM Uczniowie
WHERE imie = 'Aleksandra'
  AND rok_urodzenia > 1998;

To zapytanie zwróci tylko tych uczniów, którzy mają imię Aleksandra i urodzili się po 1998 roku.

Operator OR

OR oznacza, że wystarczy spełnienie przynajmniej jednego warunku.

SELECT *
FROM Uczniowie
WHERE imie = 'Aleksandra'
   OR rok_urodzenia > 1998;

To zapytanie zwróci osoby o imieniu Aleksandra, ale także wszystkie osoby urodzone po 1998 roku, nawet jeśli mają inne imię.

Typowy błąd egzaminacyjny

Jeżeli polecenie brzmi: „wybierz osoby o imieniu Aleksandra urodzone po 1998 roku”, trzeba użyć AND, ponieważ oba warunki muszą być prawdziwe.

Priorytet operatorów

W bardziej złożonych warunkach warto stosować nawiasy:

WHERE klasa = '3A' AND (imie = 'Anna' OR imie = 'Aleksandra')

Nawiasy jasno określają kolejność sprawdzania warunków.