Dana jest tabela o nazwie wycieczki z polami nazwa, cena, miejsca jako liczba wolnych miejsc). Aby dla dowolnego zbioru danych tabeli wyświetlić jedynie nazwy tych wycieczek, dla których cena jest niższa niż 2000 złotych i mają przynajmniej cztery wolne miejsca, należy posłużyć się zapytaniem
Odpowiedzi
Informacja zwrotna
Zapytanie SQL, które pozwala na wyświetlenie nazw wycieczek, dla których cena jest niższa niż 2000 złotych i które mają przynajmniej cztery wolne miejsca, jest poprawnie sformułowane jako: SELECT nazwa FROM wycieczki WHERE cena<2000 AND miejsca>3. W tym zapytaniu używamy klauzuli SELECT, aby wskazać, że interesuje nas tylko kolumna 'nazwa'. Warunki zawarte w klauzuli WHERE filtrują wyniki na podstawie określonych kryteriów. Operator AND zapewnia, że oba warunki muszą być spełnione jednocześnie, co oznacza, że interesują nas tylko te wycieczki, które są tańsze niż 2000 zł i mają więcej niż 3 wolne miejsca. Technicznie rzecz biorąc, operator < jest używany do porównywania wartości, a operator > do określenia, że liczba miejsc musi być większa od 3. Przykładem działania tego zapytania może być sytuacja, w której w tabeli wycieczki znajdują się dane o takich wycieczkach jak: 'Wakacje w górach' (cena: 1800 zł, miejsca: 5) oraz 'Wczasy nad morzem' (cena: 2200 zł, miejsca: 2). W wyniku działania zapytania uzyskamy jedynie 'Wakacje w górach', ponieważ spełnia ono oba kryteria. Tego rodzaju zapytania są powszechnie stosowane w systemach baz danych, aby efektywnie przeszukiwać i filtryzować dane zgodnie z wymaganiami użytkownika.
Przyglądając się pozostałym odpowiedziom, można zauważyć, że nie spełniają one wymagań stawianych przez pytanie, co czyni je błędnymi. Pierwsza z nich zawiera operator OR, co oznacza, że przynajmniej jeden z warunków musi być spełniony. W związku z tym, możliwe jest uzyskanie wyników, w których cena jest niższa niż 2000 zł, ale liczba wolnych miejsc wynosi tylko 4 lub mniej, co nie odpowiada wymogowi przynajmniej czterech wolnych miejsc. Dodatkowo, operator AND przed warunkiem miejsc >4 jest niewłaściwy, ponieważ nie zapewnia, że liczba wolnych miejsc będzie co najmniej cztery. Trzecia odpowiedź z kolei wykorzystuje operator * w klauzuli SELECT, co powoduje, że zwrócone zostaną wszystkie kolumny tabeli wycieczki zamiast tylko nazw. Ostatecznie, ostatnia odpowiedź również błędnie używa operatora OR zamiast AND, co prowadzi do sytuacji, w której system może zwrócić wycieczki z ceną powyżej 2000 zł, jeśli chociaż jedno z kryteriów jest spełnione, co nie jest zgodne z zamiarem użytkownika. Te błędy ilustrują istotę precyzyjnego formułowania zapytań SQL, aby uzyskać dokładne i zgodne z wymaganiami wyniki.