Aby wyświetlić rekordy z tabeli pracownicy tylko dla pracowników, którzy skończyli 26 lat należy użyć zapytania
Odpowiedzi
Informacja zwrotna
Aby wyświetlić rekordy z tabeli pracownicy, które dotyczą pracowników powyżej 26 roku życia, należy zastosować odpowiednie zapytanie SQL. Poprawne zapytanie to 'SELECT * FROM pracownicy WHERE wiek > 25;'. W tym przypadku, klauzula WHERE filtruje wyniki, zapewniając, że tylko ci pracownicy, którzy mają więcej niż 25 lat, zostaną zwróceni. Warto zauważyć, że w SQL operator '>' oznacza, że zwracane będą tylko rekordy, dla których warunek jest spełniony. Ponadto, wybranie wszystkich kolumn poprzez SELECT * jest powszechną praktyką, gdyż pozwala na uzyskanie pełnych informacji o pracownikach, bez konieczności wskazywania poszczególnych kolumn. Jest to zgodne z zasadami użycia SQL, gdzie operacje na danych są wykonywane poprzez polecenia definiujące wybrane tabele i warunki. Przykład zastosowania tego zapytania może być użyty w aplikacjach biznesowych, gdzie analiza wieku pracowników jest niezbędna do podejmowania decyzji kadrowych, a także w raportach dotyczących zatrudnienia. Takie zapytanie jest fundamentalne dla zarządzania danymi w relacyjnych bazach danych.
Pierwsza z niepoprawnych odpowiedzi wykorzystuje operator OR, co sprawia, że zapytanie nie działa zgodnie z zamierzonym celem. W SQL operator OR działa w taki sposób, że zwraca rekordy, które spełniają przynajmniej jeden z warunków. Zatem, zapis 'SELECT * FROM pracownicy OR wiek > 25;' zwróciłby wszystkie rekordy z tabeli, co jest sprzeczne z wymaganiem, aby wyświetlić tylko pracowników powyżej 26 roku życia. Druga odpowiedź stosuje operator AND, który również nie jest poprawnie użyty. Zapis 'SELECT * FROM pracownicy AND wiek > 25;' jest błędny, ponieważ operator AND musi być użyty w klauzuli WHERE, co czyni to zapytanie syntaktycznie niepoprawnym. Takie użycie nie zwróciłoby żadnych wyników, ponieważ warunki nie są w odpowiedniej składni. W trzeciej odpowiedzi pojawia się całkowicie błędna konstrukcja. Zapis 'SELECT * FROM wiek WHERE pracownicy > 25;' nie ma sensu, ponieważ 'wiek' nie jest tabelą, a 'pracownicy' nie jest kolumną, co sprawia, że każde zapytanie korzystające z tej konstrukcji byłoby niewłaściwe. W SQL musimy zawsze operować na tabelach i kolumnach, które są ze sobą logicznie powiązane, a powyższe zapytanie nie spełnia tego warunku.