PostgreSQL CROSS JOIN

PostgreSQL CROSS JOIN,T abloların kartezyen çarpımını verir. Yani soldaki tablodaki her satıra karşılık olarak sağdaki tablonun tüm satırlarının döndürür.

Genel kullanımı aşağıdaki gibidir.

SELECT *FROM tablo_1 AS takma_isim1 CROSS JOIN tablo_2 AS takma_isim2

Örnek ile pekiştirelim.

SELECT s.SehirIsmi,my.YiyecekIsmi FROM Sehirler s CROSS JOIN MeshurYiyecekler my;

Eğer CROSS JOIN’in where koşuluna INNER JOIN’deki ON ifadesine yazdığımız eşitleme işlemini yaparsak INNER JOIN gibi çalışacaktır.

Aşağıdaki script’i çalıştırdığımızda WHERE eklenmiş CROSS JOIN’in INNER JOIN ile aynı sonucu döndürdüğünü göreceksiniz.

SELECT s.SehirIsmi,my.YiyecekIsmi FROM Sehirler s CROSS JOIN MeshurYiyecekler my WHERE s.ID=my.SehirID

 

Loading