Rumah >pangkalan data >tutorial mysql >MySQL JOIN: Bila hendak menggunakan ON vs. USING?

MySQL JOIN: Bila hendak menggunakan ON vs. USING?

Linda Hamilton
Linda Hamiltonasal
2024-12-09 10:44:07450semak imbas

MySQL JOIN: When to Use ON vs. USING?

MySQL JOIN ON vs USING: Syntax Difference and Use Cases

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: Fleksibiliti Lebih Hebat

HIDUP memberikan fleksibiliti yang lebih besar kerana ia membolehkan anda menyertai jadual pada pelbagai syarat, termasuk:

  • Satu lajur
  • Satu set lajur
  • Sesuatu keadaan yang kompleks

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 ...

MENGGUNAKAN: Kesederhanaan dan Kemudahan

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 ...

ON vs USING: Contoh Praktikal

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.

Kesimpulan

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn