Operator BETWEEN w SQL służy do zapisu warunku zakresowego w czytelnej postaci. Wyrażenie liczba BETWEEN 10 AND 100 jest równoważne sprawdzeniu, czy wartość mieści się w przedziale domkniętym, czyli:
liczba >= 10 AND liczba <= 100.
To oznacza, że granice 10 oraz 100 są włączone do zakresu. Jest to częsta pułapka egzaminacyjna: część osób zakłada, że granice są wyłączone, ale w standardowym użyciu BETWEEN działa inkluzywnie.
Dlaczego pozostałe odpowiedzi nie są równoważne?
- NOT (liczba < 10 AND liczba > 100) nie opisuje poprawnego "bycia w zakresie". Warunek w środku nawiasu (liczba < 10 i jednocześnie liczba > 100) jest dla liczb praktycznie niemożliwy do spełnienia, więc jego negacja będzie prawie zawsze prawdziwa. Żeby uzyskać warunek "poza zakresem", stosuje się raczej liczba < 10 OR liczba > 100, a "w zakresie" to negacja tego: NOT(liczba < 10 OR liczba > 100).
- liczba IN (10, 100) sprawdza przynależność do zbioru dwóch konkretnych wartości. Taki warunek jest spełniony wyłącznie dla 10 albo 100, a nie dla całego przedziału (np. 50 nie przejdzie).
- liczba LIKE '10%' dotyczy dopasowania wzorca (zwykle dla tekstu). Nawet jeśli silnik dopuści niejawne rzutowanie, to sprawdza "zaczyna się od 10", a nie przedział 10–100. Przykładowo 105 czy 1000 pasowałoby do wzorca, mimo że nie mieści się w zakresie.
W praktyce, aby uniknąć błędów, warto zapamiętać: BETWEEN = dwa porównania połączone AND z granicami włącznie. Na egzaminie zwracaj uwagę, czy test dotyczy zakresu, listy wartości czy dopasowania tekstu.