W raporcie dziennym wymagane są dwa warunki jednocześnie:
- ograniczenie kolumn – mają się wyświetlić wyłącznie numer i wartosc,
- ograniczenie wierszy – tylko faktury z bieżącego dnia.
Zapytanie SELECT numer, wartosc FROM faktury WHERE data = CURRENT_DATE(); spełnia oba wymagania: w części SELECT wybiera tylko dwie wskazane kolumny (tzw. projekcja), a w części WHERE filtruje rekordy do tych, których pole data odpowiada dzisiejszej dacie według serwera bazy.
Dlaczego pozostałe propozycje są błędne?
- SELECT numer, wartosc FROM faktury; – poprawnie ogranicza kolumny, ale nie filtruje po dacie, więc raport zawierałby faktury z każdego dnia, co nie odpowiada wymaganiu "z bieżącego dnia".
- SELECT * FROM faktury WHERE data = CURRENT_DATE(); – poprawnie filtruje faktury z dziś, ale zwraca wszystkie pola. To kłóci się z wymaganiem, że w raporcie mają być wyświetlane tylko numery i wartości.
- SELECT * FROM faktury; – nie spełnia żadnego z ograniczeń: zwraca wszystkie kolumny i wszystkie faktury.
W praktyce warto pamiętać, że zapis funkcji zwracającej bieżącą datę zależy od silnika bazy danych. Na egzaminie kluczowa jest jednak logika: wybierz tylko potrzebne kolumny oraz dodaj filtr na dzisiejszą datę.