Wstęp
Baza danych nie przechowuje informacji o liczbie wierszy. Aby się tego dowiedzieć musisz zlecić ich policzenie motorowi bazy danych. W tej lekcji pokażę Ci jak wykorzystać do tego funkcję count.
Funkcja agregująca count
Funkcja count jest przedstawicielką funkcji agregujących. Czyli takich, które wykonują obliczenia na wielu wartościach aby zwrócić jedną. Ta konkretna funkcja zlicza wystąpienia wartości lub wierszy.

W zależności od tego jaki parametr przekażesz policzy różne rzeczy.
Jak używać count?
Zapewne zastanawiasz się jakie wartości count może dla ciebie policzyć? Może policzyć wyrażenia. Na przykład znakowe czy numeryczne:
SELECT
count('a')
,count(1)
FROM
all_tables;
W efekcie dostaniesz liczbę określającą ilość rekordów w widoku all_tables. Może policzyć wartości pochodzące z kolumn:
SELECT count(table_name) "liczba tabel" FROM all_tables;
W efekcie dostaniesz ilość wartości we wskazanej kolumnie. Może policzyć ilość unikalnych wartości w kolumnie:
SELECT count(DISTINCT owner) FROM all_tables;
Najpopularniejszym sposobem liczenia wszystkich wierszy w tabeli jest ten:
SELECT count(*) "liczba wierszy" FROM all_tables;
Wydajność
Liczenie rekordów jest zajęciem zasobochłonnym. Motor bazy danych musi odczytać z dysku każdy wskazany w klauzuli WHERE wiersz. Umieścić go w pamięci i zdecydować czy policzyć czy nie. Warto mieć to na uwadze gdy planujesz liczyć rekordy w tabeli regularnie. Szczególnie gdy tabela zawiera lub będzie zawierać duuużo rekordów. Taka operacja może spowolnić Twoją aplikację. Znacznym ułatwieniem jest stworzenie odpowiednich indeksów.
Więcej o wydajności count w mojej publikacji: count(*) nie taki zły jak sądzisz
Podsumowanie
Gratuluję Ci ukończenia siódmej lekcji darmowej edycji mojego kursu 'Podstawy SQL dla użytkowników Oracle’. Wiesz z niej jak liczyć wiersze oraz wartości w tabeli.
Zadanie dla Ciebie: napisz i uruchom zapytanie, które jednym wykonaniem policzy wszystkie wiersze w all_tables oraz wszystkie wartości w kolumnie tablespace_name.
Czy jest coś co budzi Twoje zdziwienie gdy otrzymujesz wyniki?
Jeśli potrzebujesz podpowiedzi wbijaj na discord. Tam też chwal się swoim rozwiązaniem. Dedykowany serwer: Marcin Badtke – bazy danych i SQL.
Wiesz już jak liczyć wiersze i wartości w tabelach. Jeśli zastanawiasz dlaczego raz używałem sformułowania 'liczyć wiersze’, a raz 'liczyć wartości’ to zaspokoję Twoją ciekawość w następnej lekcji. W niej pokażę Ci jak, w zapytaniach, obsługiwać NULL oraz wytłumaczę czym NULL jest.
Tymczasem dziękuję za ukończenie niniejszej lekcji.
Wiesz co trzeba zrobić aby nie przegapić kolejnych.
Gratuluję Ci ukończenia siódmej lekcji darmowej edycji mojego kursu 'Podstawy SQL dla użytkowników Oracle’. Skomentuj poniżej jak Ci się podobała.
Co to jest i jak obsługiwać NULL? Pokażę Ci w następnej lekcji. Chodź.