Do policzenia liczby wszystkich wierszy (rekordów) w tabeli stosuje się funkcję agregującą COUNT. Zapytanie:
SELECT COUNT(*) FROM Koty
zwraca jedną liczbę – łączną liczbę rekordów znajdujących się w tabeli Koty. Gwiazdka w COUNT(*) oznacza zliczanie wierszy, a nie wartości konkretnej kolumny, dzięki czemu wynik jest interpretowany jako liczba rekordów.
Dlaczego pozostałe odpowiedzi są błędne?
- SELECT ROWNUM() FROM Koty – to nie jest uniwersalna i poprawna składnia funkcji zliczającej wiersze; w typowym ujęciu nie zwraca liczby wszystkich rekordów, tylko (ewentualnie) numerację wierszy w wyniku.
- SELECT COUNT(Koty) AS ROWNUM – brak części FROM i błędne użycie nazwy tabeli jako argumentu funkcji agregującej (zwykle COUNT przyjmuje kolumnę lub *).
- SELECT COUNT(ROWNUM) FROM Koty – użycie ROWNUM zależy od dialektu; ponadto zliczanie takiego wyrażenia nie jest standardowym, przenośnym sposobem liczenia rekordów. Najbardziej jednoznacznym i powszechnie stosowanym rozwiązaniem jest COUNT(*).
Wskazówka egzaminacyjna: gdy pytanie brzmi "policz wszystkie wiersze tabeli", w praktyce prawie zawsze oczekiwane jest COUNT(*). Jeśli pojawia się filtr WHERE, COUNT(*) policzy tylko wiersze spełniające warunek.