Rumah >pangkalan data >tutorial mysql >Bagaimanakah Operator Oracle ( ) Mencipta Sambungan Luar, dan Mengapa Anda Perlu Mengelakkannya?

Bagaimanakah Operator Oracle ( ) Mencipta Sambungan Luar, dan Mengapa Anda Perlu Mengelakkannya?

Barbara Streisand
Barbara Streisandasal
2025-01-20 02:51:13419semak imbas

How Does Oracle's ( ) Operator Create Outer Joins, and Why Should You Avoid It?

Operator Oracle ( ): Pendekatan Legasi untuk Gabungan Luar

Kod SQL yang lebih lama sering menggunakan operator Oracle ( ), sintaks yang tidak biasa kepada banyak pembangun. Pengendali ini penting untuk mencipta OUTER JOIN sebelum standard ANSI-89, yang tidak mempunyai sokongan OUTER JOIN yang jelas.

Pengendali ( ) pada asasnya mencipta LEFT OUTER JOIN. Ia membenarkan baris daripada satu jadual (katakan jadual 'b') bergabung dengan baris daripada jadual lain ('a') berdasarkan medan ID yang ditentukan. Jika baris dalam 'b' tidak mempunyai baris yang sepadan dalam 'a', lajur yang sepadan daripada 'b' akan mengandungi nilai NULL dalam set hasil.

Mengalih keluar ( ) akan menukar cantuman kepada INNER JOIN, hanya mengembalikan baris dengan ID yang sepadan dalam kedua-dua jadual. Oleh itu, ( ) adalah penting apabila anda memerlukan semua baris daripada satu jadual, menerima potensi NULL untuk baris yang tidak sepadan daripada yang lain.

Walaupun fungsinya, Oracle sangat tidak menggalakkan penggunaan operator ( ). Ia tidak standard (tidak mematuhi ANSI), menghalang kemudahalihan kepada sistem pangkalan data lain. Tambahan pula, ia tertakluk kepada peraturan dan pengehadan unik yang tidak ditemui dalam OUTER JOIN yang dibuat menggunakan sintaks klausa FROM standard.

Untuk keserasian, prestasi dan pematuhan yang lebih baik kepada amalan terbaik moden, Oracle mengesyorkan sintaks OUTER JOIN standard ini:

<code class="language-sql">SELECT ...
FROM a
LEFT JOIN b ON b.id = a.id</code>

Ini mencapai hasil yang sama seperti operator ( ) sambil memanfaatkan faedah sintaks ANSI-92 dan rancangan pelaksanaan pertanyaan yang dioptimumkan oleh Oracle.

Atas ialah kandungan terperinci Bagaimanakah Operator Oracle ( ) Mencipta Sambungan Luar, dan Mengapa Anda Perlu Mengelakkannya?. 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