Rumah > pangkalan data > tutorial mysql > Bagaimana Pengendali ' ' Oracle dan Klausa WHERE Mencipta Gabungan Luar?

Bagaimana Pengendali ' ' Oracle dan Klausa WHERE Mencipta Gabungan Luar?

Mary-Kate Olsen
Lepaskan: 2025-01-06 19:14:45
asal
947 orang telah melayarinya

How Do Oracle's

Outer Joins dalam Oracle WHERE Klausa: Operator " "

Dalam pangkalan data Oracle, operator " " boleh digunakan dalam klausa WHERE untuk menentukan cantuman luar antara dua jadual. Cantuman luar membenarkan pengambilan semula rekod yang sepadan dalam kedua-dua jadual, serta rekod yang wujud dalam satu jadual sahaja.

Sintaks

Sintaks untuk menggunakan " " operator dalam klausa WHERE adalah sebagai berikut:

WHERE Table1.Column = Table2.Column(+)
Salin selepas log masuk

Fungsi

Apabila pengendali " " muncul di sebelah kiri tanda "=", ia menunjukkan LEFT OUTER JOIN. Ini bermakna semua rekod daripada Jadual1 akan dikembalikan, tidak kira sama ada rekod tersebut mempunyai rekod yang sepadan dalam Jadual2 atau tidak. Mana-mana rekod yang tidak sepadan dalam Jadual2 akan dikembalikan dengan nilai nol untuk lajur yang dicantumkan.

Sebaliknya, apabila pengendali " " muncul di sebelah kanan tanda "=", ia menunjukkan JOIN LUAR KANAN. Dalam kes ini, semua rekod daripada Jadual2 akan dikembalikan, walaupun mereka tidak mempunyai rekod yang sepadan dalam Jadual1. Rekod yang dipadankan daripada Jadual1 akan disertakan dalam keputusan, manakala rekod yang tidak sepadan akan mempunyai nilai nol.

Contoh

Pertimbangkan pertanyaan berikut:

SELECT
    Table1.Category1,
    Table1.Category2,
    count(*) as Total,
    count(Tab2.Stat) AS Stat
FROM Table1, Table2
WHERE (Table1.PrimaryKey = Table2.ForeignKey(+))
GROUP BY Table1.Category1, Table1.Category2
Salin selepas log masuk

Pertanyaan ini melakukan LEFT OUTER JOIN antara Jadual1 dan Jadual2 berdasarkan PrimaryKey dan Lajur ForeignKey. Semua rekod daripada Jadual1 akan dimasukkan ke dalam keputusan, walaupun mereka tidak mempunyai rekod yang sepadan dalam Jadual2. Untuk rekod yang tidak sepadan dalam Jadual2, lajur Stat akan menjadi batal.

Pengesyoran

Walaupun pengendali " " boleh digunakan untuk mencipta cantuman luar dalam Oracle, ia biasanya dianggap ketinggalan zaman dan tidak boleh dibaca seperti sintaks gabungan moden. Adalah disyorkan untuk menggunakan LEFT JOIN atau RIGHT JOIN sebaliknya, kerana ia memberikan semantik gabungan yang lebih eksplisit dan intuitif.

Atas ialah kandungan terperinci Bagaimana Pengendali ' ' Oracle dan Klausa WHERE Mencipta Gabungan Luar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan