KWALIFIKACJA INF3 - STYCZEŃ 2024 (test 2)

PYTANIE NR 14.
W języku SQL przedstawiony warunek jest równoważny warunkowi
Ilustracja przedstawia fragment kodu w języku SQL, który jest częścią pytania egzaminacyjnego związanego z kwalifikacją
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
BETWEEN 10 AND 100 w SQL oznacza, że wartość jest w zakresie od 10 do 100 włącznie, czyli spełnia jednocześnie warunki liczba >= 10 oraz liczba <= 100. Pozostałe propozycje dotyczą innego sensu: lista dwóch wartości (IN), dopasowanie wzorca tekstowego (LIKE) lub logicznie błędna negacja.

Pełne wyjaśnienie:

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.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
BETWEEN sprawdza, czy wartość mieści się w zadanym przedziale i standardowo działa włącznie z granicami. Zapis x BETWEEN 10 AND 100 oznacza to samo co x >= 10 AND x <= 100, więc 10 i 100 spełniają warunek.
Warunek zakresowy można zapisać dwoma porównaniami połączonymi AND. Przykład: zamiast liczba BETWEEN 10 AND 100 użyj liczba >= 10 AND liczba <= 100. To często poprawia zrozumienie logiki przy bardziej złożonych filtrach.
IN sprawdza przynależność do listy wartości, a nie do przedziału. liczba IN (10, 100) jest prawdziwe tylko dla 10 lub 100. Natomiast BETWEEN 10 AND 100 obejmuje wszystkie wartości pośrednie, np. 11, 50 czy 99.
LIKE służy do dopasowania wzorców tekstowych (np. z %). Nawet jeśli baza pozwoli rzutować liczbę na tekst, to LIKE '10%' sprawdza początek zapisu (np. 105, 1000), a nie zakres liczbowy. Dlatego nie jest zamiennikiem BETWEEN.
NOT neguje całe wyrażenie w nawiasach. Pułapka polega na złym zastosowaniu praw de Morgana: negacja (A OR B) to (NOT A AND NOT B), a negacja (A AND B) to (NOT A OR NOT B). Bez poprawnych nawiasów łatwo zmienić sens filtra.
Gdy filtrujesz dane po przedziale: ceny (np. 100–300), daty (np. od–do), oceny, wiek użytkownika, wartości pomiarów. BETWEEN jest czytelne i skraca zapis w porównaniu do dwóch warunków. Warto jednak pamiętać o granicach włączonych.
Najczęstsze pomyłki to: uznanie, że granice są wyłączone; mylenie zakresu z listą wartości (IN); użycie LIKE dla liczb; oraz niepoprawna negacja warunku "poza zakresem". Pomaga przepisanie BETWEEN na >= i <= i szybka kontrola logiczna.
Idea jest taka sama: sprawdzenie, czy wartość mieści się w przedziale (zwykle włącznie z granicami). Dla dat szczególnie ważny jest format i typ kolumny (DATE/DATETIME/TIMESTAMP) oraz strefy czasowe w aplikacji. Na egzaminie liczy się rozumienie przedziału i inkluzywności.
Bo część w nawiasie wymaga jednocześnie, aby x było mniejsze od 10 i większe od 100, co dla typowych liczb jest niemożliwe. Negacja czegoś niemożliwego daje warunek prawie zawsze prawdziwy, więc nie opisuje "bycia w zakresie". To klasyczna pułapka z logiki.
Najpewniejsza metoda to przepisać operator (np. BETWEEN) na porównania i sprawdzić kilka wartości kontrolnych: poniżej zakresu, na granicy, w środku i powyżej. Jeśli dla tych samych wartości oba warunki dają ten sam wynik, rośnie pewność równoważności.
info

To pytanie poprawnie rozwiązuje 62% zdających egzamin. średnie

W praktyce zawodowej kluczowe jest to, że bETWEEN 10 AND 100 w SQL oznacza, że wartość jest w zakresie od 10 do 100 włącznie, czyli spełnia jednocześnie warunki liczba &gt;= 10 oraz liczba &lt;= 100.

Źródła:

  • PostgreSQL Documentation: "9.2. Comparison Operators" (sekcja o BETWEEN) https://www.postgresql.org/docs/current/functions-comparison.html - dostęp 2026-03-02
  • MySQL 8.0 Reference Manual: "12.5.2 Comparison Functions and Operators" (BETWEEN ... AND ...) https://dev.mysql.com/doc/refman/8.0/en/comparison-operators.html - dostęp 2026-03-02
  • Microsoft Learn (SQL Server): "BETWEEN (Transact-SQL)" https://learn.microsoft.com/en-us/sql/t-sql/language-elements/between-transact-sql - dostęp 2026-03-02

Materiały:

  • Dokumentacja używanego silnika SQL (np. PostgreSQL/MySQL/SQL Server) – sekcja o operatorach porównań
  • Ćwiczenia: przepisywanie BETWEEN na warunki z >= i <=
  • Zadania praktyczne z klauzulą WHERE i operatorami IN/LIKE/BETWEEN

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego