W tym samouczku omówimy sposób korzystania z podziałów PostgreSQL. Zastępcze pozwalają tworzyć złożone zapytania SQL, które są mocno czytelne i łatwe w użyciu.
Co to jest podtrzymanie?
W PostgreSQL rozstańca odnosi się do zapytania w zapytaniu. Możesz powiązać podziały do typowych zapytań, takie jak wybór, skąd, od posiadania i nie tylko.
Rozpłatę nazywa się również wewnętrznym zapytaniem.
Podstawowa składnia dla podziału PostgreSQL to:
Wybierz col1, col2 z TB1, gdzie Expr (wybierz col1, col2 z TB1);W takim przypadku stwierdzenia wewnątrz nawiasu reprezentują rozdzielczość. Wykonują się przed wykonaniem zapytania głównego lub zewnętrznego.
Po zwróceniu wyniku, główne zapytanie przetwarza go i zwraca wyniki użytkownikowi.
W PostgreSQL kolejność według nie można użyć w podtrzymaniu.
Przykład PostgreSQL Subpquery
Zilustrujmy użycie podziału za pomocą klauzuli Where. Załóżmy, że mamy bazę danych krajów z kolumnami: nazwa, country_id i dwupolitowe reprezentacje.
Możemy użyć podziału, aby uzyskać kraje, w których identyfikator jest większy niż 800.
Przykładowe zapytanie znajduje się poniżej:
Wybierz nazwę, dwa_leta, country_id z kraju, w którym country_id in (select country_id, gdzie country_id> 800);W powyższym przykładzie podtrzymanie filtruje kraje z identyfikatorem większym niż 800 i zwraca wynik do głównego zapytania.
Przykładowy wynik znajduje się poniżej:
Przykład 2
Załóżmy, że chcemy zdobyć kraje z identyfikatorem większym niż 800 i zacząć od litery U.
Możemy zawiązać zapytanie wewnątrz podziału jako:
Wybierz nazwę, dwa_leta, country_id z kraju, w którym country_id in (select country_id, gdzie country_id> 800 i dwa_letter, takie jak „u%”);Powyższe zapytanie działa podobnie jak powyżej. Jednak sprawdza dwa warunki jednocześnie i zwraca wynik do zewnętrznego zapytania.
Przykład 3
Chociaż nie możemy użyć klauzuli kolejowej w podkomplicie PostgreSQL, możemy użyć grupy według zapytania, aby wykonać podobną funkcję.
Na przykład rozważ tabelę płatności w bazie danych Sakila. Możemy wykonać akcję jako:
Wybierz Payment_ID, kwota Z płatność tam, gdzie płatność_d W (Wybierz płatność_id Z Grupa płatności według płatności_dem Limit 5);Powyższe zapytanie zwróci wyniki zgrupowane według identyfikatora płatności.
Przykład 4
Możemy również używać PostgreSQL z innymi stwierdzeniami. Na przykład możemy usunąć określone rekordy zwrócone z podziału.
Usuń z filmu, gdzie istnieje (wybierz film_dem z filmu Where Film_id> 100);W powyższym zapytaniu usuwamy film, w którym Film_id jest większy niż 100.
Dobrze jest upewnić się, że inne osoby korzystające z bazy danych nie odnieśli się do rekordów, które chcesz usunąć.
Punkty rozdzielcze
Należy pamiętać o niewiele punktów podczas pracy z podziałami PostgreSQL.
Zamknięcie
W tym przewodniku omówiliśmy, jak powiązać zapytania w PostgreSQL bez użycia osobnych zapytań.