Rumah >pangkalan data >tutorial mysql >MySQL JOIN: Bila hendak menggunakan ON vs. USING?
Apabila menyertai jadual dalam MySQL, anda mempunyai pilihan untuk menggunakan sama ada kata kunci ON atau USING. Pada pandangan pertama, USING mungkin kelihatan seperti sintaks yang lebih mudah berbanding dengan ON. Walau bagaimanapun, terdapat perbezaan halus yang menjadikan setiap kata kunci sesuai untuk senario tertentu.
HIDUP memberikan fleksibiliti yang lebih besar kerana ia membolehkan anda menyertai jadual pada pelbagai syarat, termasuk:
Sebagai contoh, anda boleh menyertai jadual berdasarkan perbandingan antara dua lajur atau malah pada ungkapan:
SELECT * FROM world.City JOIN world.Country ON (City.CountryCode = Country.Code) WHERE ...
USING direka khusus untuk menyertai jadual yang berkongsi padanan tepat pada lajur dengan nama yang sama. Ia memudahkan sintaks dengan membenarkan anda menentukan nama lajur biasa dan bukannya menggunakan klausa ON:
SELECT ... FROM film JOIN film_actor USING (film_id) WHERE ...
Satu kelebihan penting USING ialah ia menghapuskan keperluan untuk melayakkan sepenuhnya lajur gabungan dalam klausa SELECT :
SELECT film.title, film_id -- No prefix for film_id required FROM film JOIN film_actor USING (film_id) WHERE ...
Kepada menggambarkan perbezaan antara dua kata kunci, pertimbangkan contoh berikut:
Contoh dengan ON:
SELECT film.title, film.film_id -- Prefixing film.film_id required FROM film JOIN film_actor ON (film.film_id = film_actor.film_id) WHERE ...
Dalam contoh ini, ON digunakan kerana lajur yang akan yang disertai tidak betul-betul sama (film.film_id vs film_actor.film_id). Awalan film.film_id dalam klausa SELECT adalah perlu untuk mengelakkan kesamaran.
Contoh dengan USING:
SELECT * FROM t JOIN t2 USING (i);
Dalam contoh ini, USING digunakan kerana lajur pencantuman (i) adalah sama dalam kedua-dua jadual dan mempunyai nama yang sama. Ia memudahkan sintaks dan secara automatik memasukkan lajur biasa dalam set keputusan sekali.
Walaupun USING mungkin muncul sebagai sintaks yang lebih mudah, ON menawarkan lebih fleksibiliti dari segi syarat penyertaan dan membenarkan untuk pertanyaan yang lebih kompleks. Pilih HIDUP apabila membandingkan lajur dengan nama yang berbeza atau menggunakan syarat kompleks. Gunakan USING apabila menyertai jadual dengan nama lajur yang sama, terutamanya apabila lajur gabungan adalah sebahagian daripada set hasil.
Atas ialah kandungan terperinci MySQL JOIN: Bila hendak menggunakan ON vs. USING?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!