Rumah >pangkalan data >tutorial mysql >CROSS JOIN lwn. INNER JOIN: Bila Menggunakan SQL Join Yang Mana?
CROSS JOIN dan INNER JOIN dalam SQL
Memahami CROSS JOIN
CROSS JOIN, juga dikenali sebagai produk Cartesian, mendapatkan semula semua kemungkinan kombinasi baris daripada dua atau lebih jadual. Ia tidak menapis baris berdasarkan mana-mana kriteria tertentu, ia hanya mendarabkan bilangan baris dalam setiap jadual. Sebagai contoh, jika satu jadual mempunyai 5 baris dan jadual lain mempunyai 3 baris, CROSS JOIN mereka akan mengembalikan set hasil 15 baris.
Contoh:
Pertimbangkan borang berikut:
<code>Customers: CustomerID | Age | Gender --------- | --- | ------- C0 | 25 | Male C1 | 30 | Female Movies: MovieID | MovieName ------- | --------- M0 | Batman M1 | Superman</code>
SABUNGAN SILANG antara jadual Pelanggan dan Filem akan menghasilkan set hasil berikut:
CustomerID | Age | Gender | MovieID | MovieName |
---|---|---|---|---|
C0 | 25 | Male | M0 | Batman |
C0 | 25 | Male | M1 | Superman |
C1 | 30 | Female | M0 | Batman |
C1 | 30 | Female | M1 | Superman |
Memahami INNER JOIN
INNER JOIN, juga dikenali sebagai equijoin, menapis baris daripada dua jadual berdasarkan syarat kesetaraan yang ditentukan. Ia sepadan dengan baris yang mempunyai nilai yang sama dalam lajur yang dicantumkan. Contohnya, INNER JOIN bagi jadual Pelanggan dan Filem berdasarkan lajur CustomerID hanya mengembalikan baris yang mana ID Pelanggan sepadan dalam kedua-dua jadual.
Contoh:
Memandangkan jadual yang sama seperti sebelumnya, INNER JOIN berdasarkan CustomerID akan menghasilkan set hasil berikut:
CustomerID | Age | Gender | MovieID | MovieName |
---|---|---|---|---|
C0 | 25 | Male | M0 | Batman |
Pilih CROSS JOIN dan INNER JOIN
Pilihan antara CROSS JOIN dan INNER JOIN bergantung pada hasil yang diinginkan.
Atas ialah kandungan terperinci CROSS JOIN lwn. INNER JOIN: Bila Menggunakan SQL Join Yang Mana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!