Apabila menyambungkan pelbagai jadual dalam pertanyaan pangkalan data, pemaju boleh memilih untuk menggunakan gabungan dalaman atau di mana klausa. Kedua -dua kaedah digunakan untuk tujuan yang sama: data penapis mengikut keadaan yang dikondisikan antara jadual. Walau bagaimanapun, terdapat sedikit perbezaan di antara mereka.
Inner Join On On Clause adalah sintaks yang disyorkan dalam ANSI SQL, terutamanya dalam sambungan kompleks yang melibatkan pelbagai jadual, lebih mudah dibaca. Strukturnya adalah seperti berikut:
Kaedah
SELECT ... FROM table1 INNER JOIN table2 ON table1.foreignkey = table2.primarykey WHERE ...
Di MySQL, penggunaan Inner Join On dan di mana klausa adalah sama seperti gabungan dalaman. Kedua -dua pertanyaan akan menghasilkan hasil yang sama. MySQL juga menawarkan klausa lurus_join, yang dapat mengawal urutan sambungan, yang merupakan fungsi yang tidak dapat disediakan oleh tempat tatabahasa.
SELECT ... FROM table1, table2 WHERE table1.foreignkey = table2.primarykey AND ...
kebolehbacaan:
gabungan dalaman biasanya dianggap lebih mudah dibaca, terutama dalam sambungan kompleks.
fleksibel: Jika perlu, gabungan dalaman boleh menggantikannya dengan mudah dengan keluar.
Tatabahasa:Atas ialah kandungan terperinci INNER JOIN ON vs. WHERE CLAUAL: Bilakah saya harus menggunakan yang mana untuk pertanyaan pangkalan data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!