Rumah >pangkalan data >tutorial mysql >Inner Join vs. Where Clause in MySQL: Bilakah saya harus menggunakan masing -masing?
INNER JOIN dan klausa WHERE dalam MySQL: Bila hendak menggunakan yang mana?
Apabila menyertai jadual dalam MySQL, anda boleh menggunakan kedua-dua klausa WHERE dan sintaks INNER JOIN. Kedua-dua kaedah digunakan untuk menapis data berdasarkan kriteria padanan antara dua jadual.
Sintaks JOIN DALAM
Sintaks JOIN DALAM dianggap kaedah pilihan untuk menyertai jadual. Ia lebih ringkas dan lebih mudah dibaca, terutamanya apabila bekerja dengan berbilang jadual. Sintaksnya adalah seperti berikut:
<code class="language-sql">SELECT 列名 FROM 表1 INNER JOIN 表2 ON 表1.外键 = 表2.主键 WHERE (其他条件)</code>
WHERE sintaks klausa
WHERE sintaks klausa kurang digunakan untuk menyertai jadual. Ia mengikuti pendekatan model yang lebih perhubungan, di mana hasil daripada dua jadual bercantum dianggap sebagai produk Cartesian. Kemudian gunakan penapis untuk memilih hanya baris yang sepadan dengan lajur gabungan. Sintaksnya adalah seperti berikut:
<code class="language-sql">SELECT 列名 FROM 表1, 表2 WHERE 表1.外键 = 表2.主键 AND (其他条件)</code>
Kesamaan dalam MySQL
Dalam MySQL, sintaks INNER JOIN dan sintaks klausa WHERE dianggap sinonim. Kedua-dua pertanyaan akan menghasilkan hasil yang sama:
<code class="language-sql">SELECT this, that, somethingelse FROM table1, table2 WHERE table1.foreignkey = table2.primarykey AND (some other conditions)</code>
<code class="language-sql">SELECT this, that, somethingelse FROM table1 INNER JOIN table2 ON table1.foreignkey = table2.primarykey WHERE (some other conditions)</code>
Nota lain
Selain cantuman dalam, MySQL juga menyediakan cantuman terus dan cantuman luar. Gabungan langsung membolehkan anda menentukan susunan gabungan, yang boleh memberi kesan kepada prestasi dalam beberapa kes. Cantuman luar memberikan fleksibiliti yang lebih besar dengan membenarkan anda memasukkan baris yang tidak dapat dipadankan dalam keadaan cantuman.
Kesimpulan
Walaupun kedua-dua klausa WHERE dan sintaks INNER JOIN boleh digunakan untuk menyertai jadual dalam MySQL, sintaks INNER JOIN biasanya lebih disukai kerana kebolehbacaan dan keserasiannya dengan pelaksanaan SQL yang lain. Dengan memahami perbezaan antara kedua-dua kaedah ini, anda boleh mengoptimumkan pertanyaan anda dan mendapatkan semula data daripada berbilang jadual dengan cekap.
Atas ialah kandungan terperinci Inner Join vs. Where Clause in MySQL: Bilakah saya harus menggunakan masing -masing?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!