Dana jest tabela książki z polami: tytuł, autor (typu tekstowego), cena (typu liczbowego). Aby kwerenda SELECT zwróciła tylko tytuły, dla których cena jest mniejsza od 50 zł, należy zapisać:
Odpowiedzi
Informacja zwrotna
Odpowiedź "SELECT tytul FROM ksiazki WHERE cena < 50;" jest prawidłowa, ponieważ wykorzystuje składnię SQL, która pozwala na wybranie konkretnych pól z tabeli. W tym przypadku przy pomocy klauzuli SELECT określamy, że interesują nas tylko tytuły książek, a klauzula WHERE filtruje wyniki, zwracając jedynie te rekordy, w których cena jest niższa niż 50 zł. To podejście jest zgodne z najlepszymi praktykami, ponieważ zamiast używać operatora *, który zwraca wszystkie kolumny, wskazujemy dokładnie, jakie dane są nam potrzebne. Dzięki temu kwerenda jest bardziej wydajna i przejrzysta. Przykładowo, w przypadku dużych zbiorów danych, ograniczenie wyników do konkretnego pola może znacząco poprawić czas wykonania zapytania oraz zmniejszyć obciążenie serwera. Ponadto, zapis ceny jako liczby, a nie tekstu (np. '50 zł'), umożliwia prawidłowe porównanie wartości numerycznych, co jest kluczowe w tego typu zapytaniach. W praktyce wykorzystanie tego rodzaju zapytań jest niezbędne, aby efektywnie zarządzać danymi i uzyskiwać precyzyjne wyniki w bazach danych.
Odpowiedzi, które zostały podane jako niepoprawne, zawierają różne błędy w składni oraz logiczne nieścisłości. W pierwszym przypadku, zapytanie "SELECT * FROM ksiazki WHERE cena < 50;" zwraca wszystkie kolumny z tabeli, co nie jest zgodne z wymaganiami pytania, które prosi o zwrócenie jedynie tytułów książek. Użycie operatora * zamiast konkretnego pola jest nieefektywne, co prowadzi do większego obciążenia, szczególnie przy dużych zbiorach danych. Innym zapytaniem, które jest niepoprawne, jest "SELECT tytul FROM ksiazki WHERE cena > '50 zł';". To zapytanie zawiera błąd w operatorze porównania, ponieważ zamiast poszukiwać książek tańszych niż 50 zł, filtruje te droższe. Dodatkowo, zawarcie ceny jako tekstu ('50 zł') wprowadza nieprawidłowe zachowanie porównania, ponieważ SQL nie przetwarza wartości tekstowych jako liczb. Wreszcie, zapytanie "SELECT ksiazki FROM tytul WHERE cena < '50 zł';" jest całkowicie błędne, ponieważ sugeruje, że wybieramy kolumnę z tabeli 'ksiazki' na podstawie warunków dotyczących innej kolumny. Tego typu błędne zrozumienie struktury i składni SQL często prowadzi do frustracji w pracy z bazami danych. Kluczowe w nauce SQL jest zrozumienie, że każdy element zapytania ma swoje miejsce i rolę, co pozwala na tworzenie poprawnych i efektywnych kwerend.