Podsumowanie: w tym samouczku dowiesz się, jak używać PostgreSQL CROSS JOIN do tworzenia iloczynu kartezjańskiego wierszy z połączonych tabel.
Wprowadzenie do klauzuli PostgreSQL CROSS JOIN
aCROSS JOIN
klauzula pozwala na utworzenie iloczynu kartezjańskiego wierszy w dwóch lub więcej tabelach.
W odróżnieniu od innych klauzul join, takich jak LEFT JOIN lub INNER JOIN, klauzulaCROSS JOIN
nie ma predykatu join.,
Załóżmy, że musisz wykonać CROSS JOIN
dwóch tabel T1 i T2.
Jeśli T1 man
wiersze, a T2 mam
wiersze, zestaw wyników będzie miałnxm
wiersze. Na przykład, T1 ma 1,000
wiersze i T2 ma 1,000
wiersze, zestaw wyników będzie miał 1,000 x 1,000
= 1,000,000
wiersze.,
poniżej przedstawiono składnię składni Cross JOIN:
Code language: SQL (Structured Query Language) (sql)
poniższe polecenie jest równoważne powyższej instrukcji:
Code language: SQL (Structured Query Language) (sql)
Możesz również użyć klauzuli INNER JOIN
z warunkiem, który zawsze oblicza się na true, aby symulować Cross join:
Code language: SQL (Structured Query Language) (sql)
PostgreSQL Cross join przykład
poniższe instrukcje CREATE TABLE Utwórz tabele T1 i T2 i wstaw kilka przykładowych danych do demonstracji Cross.,
poniższe polecenie używa operatora CROSS JOIN
do połączenia tabeli T1 z tabelą T2.
Code language: SQL (Structured Query Language) (sql)
poniższy obrazek ilustruje wynik CROSS JOIN
podczas łączenia tabeli T1 z tabelą T2: