Operatory AND i OR służą w SQL do łączenia warunków, najczęściej w klauzuli WHERE. Ich poprawne użycie ma kluczowe znaczenie w zadaniach egzaminacyjnych, bo zmienia liczbę zwracanych rekordów.
Operator AND
AND oznacza, że wszystkie podane warunki muszą być spełnione jednocześnie.
Przykład:
SELECT model
FROM podzespoly
WHERE typ='RAM' AND producent='Kingston';
Zapytanie zwróci tylko te modele, które są:
- typu RAM,
- i jednocześnie producenta Kingston.
Operator OR
OR oznacza, że wystarczy spełnienie przynajmniej jednego warunku.
Przykład:
SELECT model
FROM podzespoly
WHERE typ='RAM' OR producent='Kingston';
To zapytanie zwróci znacznie więcej rekordów, bo obejmie:
- wszystkie pamięci RAM,
- oraz wszystkie produkty firmy Kingston,
- także takie, które nie są pamięcią RAM.
Najważniejsza różnica
AND– zawęża wyniki,OR– rozszerza wyniki.
W zadaniu z wyborem modeli pamięci RAM firmy Kingston poprawny jest AND, ponieważ rekord ma spełniać oba warunki naraz.
Typowy błąd egzaminacyjny
Uczeń widzi dwa warunki w treści i automatycznie używa OR. To błąd, jeśli zadanie mówi o rekordach należących do jednej konkretnej grupy, np. „pamięci RAM od firmy Kingston”.
Dobra praktyka
Przy analizie treści pytania warto zadać sobie pytanie: czy rekord ma spełniać wszystkie warunki, czy którykolwiek z nich? To najprostszy sposób na odróżnienie AND od OR.