CROSS JOIN dan INNER JOIN dalam SQL: Penjelasan terperinci tentang perbezaan
Operasi JOIN dalam SQL digunakan untuk menggabungkan baris daripada berbilang jadual berdasarkan syarat tertentu. CROSS JOIN dan INNER JOIN ialah dua jenis JOIN biasa, masing-masing mempunyai kegunaan dan senario aplikasinya sendiri.
SAMPAI SERTAI
Seperti namanya, CROSS JOIN mencipta produk Cartesian bagi baris dalam jadual yang mengambil bahagian. Dalam erti kata lain, ia mengembalikan semua kemungkinan kombinasi baris daripada kedua-dua jadual, tanpa mengira sebarang syarat. Tingkah laku ini boleh mengakibatkan bilangan baris berlebihan yang banyak, terutamanya jika jadual mempunyai bilangan baris yang banyak.
Pertimbangkan contoh CROSS JOIN berikut:
<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 semua kemungkinan kombinasi baris dalam jadual Pelanggan dan jadual Filem, tidak kira sama ada terdapat perhubungan antara mereka.
SERTAI DALAM
INNER JOIN hanya mengembalikan baris yang memenuhi syarat gabungan yang ditakrifkan oleh klausa ON. Syarat ini menentukan syarat yang mesti dipenuhi untuk baris dalam jadual yang mengambil bahagian untuk disertakan dalam keputusan.
Pertimbangkan contoh INNER JOIN berikut:
<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 mengembalikan baris dengan nilai ID Pelanggan yang sepadan dalam jadual Pelanggan dan jadual Filem. Ini memastikan bahawa keputusan hanya termasuk pelanggan yang telah menyewa filem.
Bila hendak menggunakan CROSS JOIN vs. INNER JOIN
Memilih untuk menggunakan CROSS JOIN atau INNER JOIN bergantung pada keperluan khusus pertanyaan.
Dengan memahami perbezaan antara CROSS JOIN dan INNER JOIN, anda boleh menggabungkan data daripada berbilang jadual dalam SQL dengan berkesan untuk memenuhi keperluan anda.
Atas ialah kandungan terperinci CROSS JOIN vs INNER JOIN: Bilakah Anda Harus Menggunakan Setiap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!