Rumah > pangkalan data > tutorial mysql > Bilakah Pertanyaan KIRI JOIN dan KANAN JOIN Boleh Ditukar Dalam SQL?

Bilakah Pertanyaan KIRI JOIN dan KANAN JOIN Boleh Ditukar Dalam SQL?

DDD
Lepaskan: 2025-01-14 16:02:42
asal
1005 orang telah melayarinya

When Are LEFT JOIN and RIGHT JOIN Queries Interchangeable in SQL?

SQL LEFT JOIN dan RIGHT JOIN: Bilakah ia setara?

LEFT JOIN dan RIGHT JOIN dalam SQL menggabungkan baris daripada dua jadual berdasarkan nilai yang sepadan. Walaupun fungsinya serupa, perbezaan utama wujud.

Mari kita gambarkan:

<code class="language-sql">CREATE TABLE Table1 (id INT, Name VARCHAR(10));
CREATE TABLE Table2 (id INT, Name VARCHAR(10));

INSERT INTO Table1 (id, Name) VALUES
(1, 'A'),
(2, 'B');

INSERT INTO Table2 (id, Name) VALUES
(1, 'A'),
(2, 'B'),
(3, 'C');</code>
Salin selepas log masuk

Pertanyaan ini:

<code class="language-sql">SELECT *
FROM Table1
LEFT JOIN Table2 ON Table1.id = Table2.id;

SELECT *
FROM Table2
RIGHT JOIN Table1 ON Table1.id = Table2.id;</code>
Salin selepas log masuk

menghasilkan hasil yang sama. Kedua-duanya memadankan baris daripada Table1 dengan baris yang sepadan dalam Table2 menggunakan medan id. LEFT JOIN termasuk semua baris daripada Table1, manakala RIGHT JOIN melakukan perkara yang sama untuk Table2.

Walau bagaimanapun, pertimbangkan ini:

<code class="language-sql">SELECT *
FROM Table2
LEFT JOIN Table1 ON Table1.id = Table2.id;</code>
Salin selepas log masuk

atau yang setaraf dengannya:

<code class="language-sql">SELECT *
FROM Table1
RIGHT JOIN Table2 ON Table1.id = Table2.id;</code>
Salin selepas log masuk

Keluaran berbeza. Ini mengembalikan semua baris daripada Table2 serta mana-mana baris yang sepadan daripada Table1. Ini ialah "gabungan luar", di mana baris daripada satu jadual disertakan walaupun tanpa padanan di bahagian lain. Perkara utama ialah sebutan kiri atau kanan menentukan baris jadual mana yang dijamin akan disertakan sepenuhnya dalam set hasil, tanpa mengira baris yang sepadan dalam jadual lain. Oleh itu, pertukaran jadual mudah dalam pertanyaan tidak selalu menghasilkan hasil yang sama. Kebolehtukaran bergantung sepenuhnya pada data dan hasil yang diingini.

Atas ialah kandungan terperinci Bilakah Pertanyaan KIRI JOIN dan KANAN JOIN Boleh Ditukar Dalam SQL?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan