Archiwa tagu: exists

PostgreSQL EXISTS – sprawdzamy czy zapytanie zwraca wyniki

Bardzo przydatną funkcją w PostgreSQL-u jest funkcja EXISTS. Za jej pomocą możemy sprawdzić czy zapytanie lub podzapytanie zwraca jakieś wyniki. Wielu początkujących programistów stawia znak równości między sytuacją, kiedy zapytanie wykonalo się poprawnie ale nie zwróciło żadnych wyników a sytuacją kiedy zapytanie wykonało się poprawnie i zwraca jakieś rekordy. W obu przypadkach zapytanie wykonało się bez błędów ale niekiedy nie zwraca żadnego wyniku (żadnego rekordu). Są takie sytuacje kiedy nasze dalsze działania uzależniamy od sytuacji gdy zapytanie zwraca jakieś rekordy. Ja także znalazłem się ostatnio w takiej sytuacji i moje poszukiwania zakończyły się sukcesem, funkcja EXISTS.
Zwracany typ: BOOLEAN (true or false)

PostgreSQL EXISTS() składnia

EXISTS(zapytanie)


Przykład zastosowania funkcji EXISTS() (Baza: Biblioteka)

Wyświetl wszystkich autorów ksiżek z tabeli 'Autorzy' jeżeli w tabeli tej znajduje się autor o imieniu i nazwisku: Jarosław Testowy

W tabeli 'Autorzy' znajduje się 1000 rekordów ale nie ma autora o takim imieniu i nazwisku, więc zapytanie nie powinno zwrócić żadnych wyników. Poniżej efekt uruchomienia zapytania.

postgresql funkcja function exists sprawdzamy czy zapytanie zwraca wyniki

Widzimy, że wszystko zadziałało poprawnie zapytanie nie zwróciło żadnych wyników bo wartość zwrócona przez funkcję EXISTS była false, z uwagi na to, że w bazie nie było żadnego autora o szukanym imieniu i nazwisku.

 


postgresqlpostgresql