Rumah >pangkalan data >tutorial mysql >CROSS JOIN lwn. INNER JOIN dalam SQL: Bila Untuk Menggunakan Setiap Jenis Sertaan?
Cross join (CROSS JOIN) dan inner join (INNER JOIN) dalam SQL: Perbandingan komprehensif
SQL menyediakan dua jenis sambungan yang berbeza: CROSS JOIN dan INNER JOIN, setiap jenis sambungan mempunyai senario aplikasinya sendiri. Artikel ini melihat secara mendalam perbezaan antara kedua-dua jenis ketersambungan ini, menyerlahkan faedah dan kes penggunaannya.
CROSS JOIN: Produk Cartesian
Cambung silang, juga dikenali sebagai produk Cartesian, menggabungkan setiap baris dalam jadual pertama dengan setiap baris dalam jadual kedua. Ini akan menjana jadual baharu yang mengandungi semua kemungkinan kombinasi baris daripada jadual yang dicantumkan.
Tatabahasa:
<code class="language-sql">SELECT * FROM Table1 CROSS JOIN Table2</code>
Contoh:
Pertimbangkan gabungan silang antara jadual 'Pelanggan' dan jadual 'Filem':
<code class="language-sql">SELECT Movies.CustomerID, Movies.Movie, Customers.Age, Customers.Gender, Customers.[Education Level], Customers.[Internet Connection], Customers.[Marital Status], FROM Customers CROSS JOIN Movies</code>
Pertanyaan ini akan mengembalikan setiap kemungkinan pasangan pelanggan dan filem, menghasilkan bilangan baris yang banyak.
SERTAI DALAM: Hadkan keputusan
Gabung dalam hanya mengembalikan baris yang memenuhi syarat yang dinyatakan dalam klausa ON
. Ia hanya memilih baris dalam kedua-dua jadual yang mempunyai nilai yang sepadan.
Tatabahasa:
<code class="language-sql">SELECT * FROM Table1 INNER JOIN Table2 ON Table1.Column = Table2.Column</code>
Contoh:
Menggunakan jadual yang sama seperti sebelum ini, mari buat gabungan dalaman menggunakan lajur CustomerID
:
<code class="language-sql">SELECT Movies.CustomerID, Movies.Movie, Customers.Age, Customers.Gender, Customers.[Education Level], Customers.[Internet Connection], Customers.[Marital Status] FROM Customers INNER JOIN Movies ON Customers.CustomerID = Movies.CustomerID</code>
Pertanyaan ini hanya akan mengembalikan CustomerID
baris yang sepadan daripada jadual 'Pelanggan' dan jadual 'Filem', memberikan hasil yang lebih berkaitan dan ditapis.
Pilih jenis sambungan
Pilihan cantuman silang dan cantuman dalam bergantung pada keperluan khusus pertanyaan.
Secara amnya, adalah disyorkan untuk menggunakan cantuman dalam kerana kecekapan dan keupayaannya yang lebih tinggi untuk menapis hasil, manakala cantuman silang berguna dalam senario tertentu di mana produk Cartesan diperlukan.
Atas ialah kandungan terperinci CROSS JOIN lwn. INNER JOIN dalam SQL: Bila Untuk Menggunakan Setiap Jenis Sertaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!