Rumah > pangkalan data > tutorial mysql > Apakah Perbezaan Utama Antara JOIN Asli dan JOIN Dalam dalam SQL?

Apakah Perbezaan Utama Antara JOIN Asli dan JOIN Dalam dalam SQL?

Patricia Arquette
Lepaskan: 2025-01-06 01:12:42
asal
857 orang telah melayarinya

What's the Key Difference Between Natural JOIN and Inner JOIN in SQL?

Memahami Perbezaan Antara Natural Join dan Inner Join

Dalam bidang SQL (Structured Query Language), adalah penting untuk memahami perbezaan antara gabungan semula jadi dan dalaman. Jenis cantuman ini adalah serupa namun berbeza, memberi kesan kepada perolehan semula data yang terhasil.

Sambungan dalam, dilambangkan sebagai JOIN DALAM atau USING, menggabungkan baris daripada dua jadual berdasarkan kesamaan dalam satu atau lebih lajur yang dinyatakan dalam klausa ON. Sebaliknya, cantuman semula jadi, diwakili oleh NATURAL JOIN, secara automatik bergabung dengan jadual berdasarkan lajur yang berkongsi nama yang sama dalam kedua-dua jadual.

Perbezaan utama terletak pada bilangan lajur yang dikembalikan. Cantuman dalaman mengekalkan semua lajur daripada kedua-dua jadual, manakala cantuman semula jadi mengecualikan lajur pendua dengan nama yang sama. Ini berlaku kerana gabungan semula jadi menganggap bahawa lajur biasa mengandungi data yang sama dan berlebihan.

Sebagai contoh, pertimbangkan dua jadual, JadualA dan JadualB, dengan Lajur1 sebagai lajur biasa. Cantuman dalaman akan mengembalikan semua baris daripada kedua-dua jadual dan memasukkan kedua-dua kejadian Column1:

SELECT * 
FROM TableA AS a 
INNER JOIN TableB AS b 
USING (Column1);
Salin selepas log masuk

Output:

+------------+-----------+------------+-----------+
| a.Column1  | a.Column2 | b.Column1  | b.Column3 |
+------------+-----------+------------+-----------+
| 1          |  2        | 1          |   3       |
+------------+-----------+------------+-----------+
Salin selepas log masuk

Walau bagaimanapun, cantuman semula jadi antara JadualA dan JadualB akan menghilangkan lebihan Lajur1:

SELECT * 
FROM TableA 
NATURAL JOIN TableB;
Salin selepas log masuk

Output:

+------------+----------+----------+
| Column1    | Column2  | Column3  |
+------------+----------+----------+
| 1          |  2       |   3      |
+------------+----------+----------+
Salin selepas log masuk

Adalah penting untuk ambil perhatian bahawa dalam cantuman semula jadi, lajur cantuman ditentukan secara tersirat oleh nama kongsinya dan anda tidak boleh menentukannya secara eksplisit. Selain itu, cantuman semula jadi hanya boleh dilakukan pada jadual dengan satu lajur biasa.

Memahami nuansa ini antara cantuman dalam dan cantuman semula jadi adalah penting untuk mendapatkan data yang berkesan. Dengan memilih jenis penyertaan yang sesuai, anda boleh mengoptimumkan pertanyaan anda dan memperoleh hasil yang diingini.

Atas ialah kandungan terperinci Apakah Perbezaan Utama Antara JOIN Asli dan JOIN Dalam 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan