PostgreSQL Istnieje z przykładem Wybierz, Wstaw, Aktualizuj i Usuń
To, co istnieje PostgreSQL?
PostgreSQL ISTNIEJE operator sprawdza, czy wiersz(e) istnieją w podzapytaniu. Oznacza to, że operator jest używany razem z podzapytaniem. Operator Exists jest uważany za spełniony, gdy w podzapytaniu zostanie znaleziony przynajmniej jeden wiersz. Możesz użyć tej operacji razem z poleceniami SELECT, UPDATE, INSERT i DELETE.
Składnia zapytania Postgres istnieje
Oto składnia dla PostgreSQL Instrukcja ISTNIEJE:
WHERE EXISTS (subquery);
Powyższa składnia pokazuje, że operator EXISTS przyjmuje argument, który jest podzapytaniem. Podzapytanie jest po prostu SELECT oświadczenie które powinno zaczynać się od SELECT * zamiast listy nazw kolumn lub wyrażeń.
PostgreSQL Występuje z instrukcją SELECT
Zobaczmy, jak używać instrukcji SELECT z operatorem EXISTS. Mamy następujące tabele:
Książka:
Cena:
Uruchom następujące polecenie:
SELECT * FROM Book WHERE EXISTS (SELECT * FROM Price WHERE Book.id = Price.id);
To zwraca następujące informacje:
Powyższe polecenie powinno zwrócić wszystkie rekordy w tabeli Book, których identyfikator odpowiada identyfikatorowi dowolnego rekordu w podzapytaniu. Dopasowano tylko jeden identyfikator. W związku z tym zwrócono tylko jeden rekord.
PostgreSQL Występuje z instrukcją INSERT
Możemy użyć operatora EXISTS w WSTAW oświadczenieMamy następujące 3 tabele:
Książka:
Cena:
Cena2:
Następnie możemy uruchomić następujące polecenie:
INSERT INTO Price SELECT id, price FROM Price2 WHERE EXISTS (SELECT id FROM Book WHERE Book.id = Price2.id);
Tabela cen wygląda teraz następująco:
Dopasowano wiersz o identyfikatorze 5 w tabeli o nazwie Cena2. Rekord ten został następnie wstawiony do tabeli cen.
Postgres istnieje z instrukcją UPDATE
Operatora EXISTS możemy używać w poleceniu UPDATE.
Uruchom następujące zapytanie:
UPDATE Price SET price = (SELECT price FROM Price2 WHERE Price2.id = Price.id) WHERE EXISTS (SELECT id, price FROM Price2 WHERE Price2.id = Price.id);
Aktualizujemy kolumnę cenową w tabeli cen. Naszym celem jest, aby ceny przedmiotów mających wspólny identyfikator były takie same. Dopasowano tylko jeden wiersz, czyli 5.
Ponieważ jednak ceny są równe, czyli 205, nie dokonano żadnej aktualizacji. Gdyby była różnica, aktualizacja zostałaby dokonana.
Postgres istnieje z instrukcją DELETE
A PostgreSQL Instrukcja DELETE może używać operatora EXISTS. Oto przykład:
DELETE FROM Price WHERE EXISTS (SELECT * FROM Price2 WHERE Price.id = Price2.id);
Tabela cen wygląda teraz następująco:
Wiersz o identyfikatorze 5 został usunięty.
PostgreSQL Instrukcja istnieje przy użyciu pgAdmin
Zobaczmy teraz, jak można wykonać te akcje za pomocą pgAdmin:
Jak korzystać z zapytania istniejącego w PostgreSQL z instrukcją SELECT przy użyciu pgAdmin
Poniżej znajdują się kroki, w których należy użyć zapytania Exists PostgreSQL z instrukcją SELECT przy użyciu pgAdmin:
Krok 1) Zaloguj się na swoje konto pgAdmin
Otwórz pgAdmin i zaloguj się na swoje konto, używając swoich danych uwierzytelniających
Krok 2) Utwórz bazę danych demonstracyjnych
- Na pasku nawigacyjnym po lewej stronie kliknij opcję Bazy danych.
- Kliknij opcję Demo.
Krok 3) Wpisz zapytanie
Wpisz poniższe zapytanie w edytorze zapytań:
SELECT * FROM Book WHERE EXISTS (SELECT * FROM Price WHERE Book.id = Price.id);
Krok 4) Wykonaj zapytanie
Kliknij przycisk Wykonaj
Powinno zostać zwrócone:
Z instrukcją INSERT
Aby osiągnąć to samo poprzez pgAdmin, wykonaj następujące czynności:
Krok 1) Zaloguj się na swoje konto pgAdmin.
Krok 2)
- Na pasku nawigacyjnym po lewej stronie kliknij opcję Bazy danych.
- Kliknij opcję Demo.
Krok 3) Wpisz zapytanie w edytorze zapytań:
INSERT INTO Price SELECT id, price FROM Price2 WHERE EXISTS (SELECT id FROM Book WHERE Book.id = Price2.id);
Krok 4) Kliknij przycisk Wykonaj.
Tabela cen powinna teraz wyglądać następująco:
Z instrukcją UPDATE
Aby osiągnąć to samo poprzez pgAdmin, wykonaj następujące czynności:
Krok 1) Zaloguj się na swoje konto pgAdmin.
Krok 2)
- Na pasku nawigacyjnym po lewej stronie kliknij opcję Bazy danych.
- Kliknij opcję Demo.
Krok 3) Wpisz zapytanie w edytorze zapytań:
UPDATE Price SET price = (SELECT price FROM Price2 WHERE Price2.id = Price.id) WHERE EXISTS (SELECT id, price FROM Price2 WHERE Price2.id = Price.id);
Krok 4) Kliknij przycisk Wykonaj.
Tabela cen powinna teraz wyglądać następująco:
Z instrukcją DELETE
Aby osiągnąć to samo poprzez pgAdmin, wykonaj następujące czynności:
Krok 1) Zaloguj się na swoje konto pgAdmin.
Krok 2)
- Na pasku nawigacyjnym po lewej stronie kliknij opcję Bazy danych.
- Kliknij opcję Demo.
Krok 3) Wpisz zapytanie w edytorze zapytań:
DELETE FROM Price WHERE EXISTS (SELECT * FROM Price2 WHERE Price.id = Price2.id);
Krok 4) Kliknij przycisk Wykonaj.
Tabela cen powinna teraz wyglądać następująco:
Podsumowanie
- Operator EXISTS sprawdza, czy wiersz(e) istnieją w podzapytaniu.
- Jest ono używane z podzapytaniem i mówi się, że zostało spełnione, gdy podzapytanie zwróci co najmniej jeden wiersz.
- Używa się go razem z instrukcjami SELECT, UPDATE, INSERT i DELETE.
Pobierz bazę danych używaną w tym samouczku