Widziałem wiele w BD. Rzeczy dobre, rzeczy złe, rzeczy dziwne.
Ostatnio zadziwiło mnie jedno zapytanie, i to w postgreSQL-u.
Z tego co wiem, to zapytanie to nie działa na każdej konfiguracji postgreSQL-a (na jednym "naszym" serwerze nie działa, i to nie zalezy od numeru wersji). Na SQLFiddle działa. Znaczy się doczytałem w dokumentacji, że od wersji 9.4
Ale do rzeczy. Zawsze wydawało mi się, że Count(*) zwraca liczbę nie-nullowych elementów. Ale nie dotyczy to rekordów. Nawet jeśli cały rekord jest nullowy, to jest liczony. A co gdy rekordu nie ma?
W przykładzie jest to zapytanie:
SELECT Count(*) FROM (select) x;
sam
SELECT
zwraca coś, co postgreSQL uważa za rekord... ale dlaczego?
W sumie powinno to być w mikroblogu, ale może wy macie jakieś dziwne dla was zapytania?