Rumah >pangkalan data >tutorial mysql >Apakah perbezaan utama antara cantuman semula jadi dan cantuman dalaman dalam pangkalan data hubungan?

Apakah perbezaan utama antara cantuman semula jadi dan cantuman dalaman dalam pangkalan data hubungan?

Patricia Arquette
Patricia Arquetteasal
2025-01-05 22:20:40241semak imbas

What are the key differences between natural joins and inner joins in relational databases?

Membandingkan Operasi Natural Join dan Inner Join

Sambungan semula jadi dan sambung dalam ialah dua jenis cantuman biasa yang digunakan dalam sistem pengurusan pangkalan data hubungan. Ia berkongsi ciri menggabungkan baris daripada berbilang jadual berdasarkan nilai lajur yang dikongsi, tetapi ia berbeza dalam perlakuan lajur berulang dan spesifikasi kriteria penyambungan.

Sertai Asli

Sambungan semula jadi ialah bentuk sambung dalam yang dipermudahkan yang secara automatik memilih lajur biasa antara jadual yang dicantumkan. Daripada menyatakan lajur penyambungan secara eksplisit, seperti penyambungan dalam, penyambungan semula jadi mengenal pasti dan menggabungkan jadual berdasarkan nama lajur yang sama dalam kedua-dua jadual.

Sambungan Dalam

Sebaliknya, cantuman dalaman memerlukan pengguna untuk menentukan lajur cantuman dengan menggunakan klausa ON atau USING. Klausa ON membandingkan lajur daripada jadual berbeza, manakala klausa USING mengenal pasti lajur biasa antara jadual.

Perbezaan dalam Lajur Terhasil

Salah satu perbezaan utama antara gabungan semula jadi dan inner join ialah bilangan lajur yang dikembalikan dalam hasil. Cantuman semula jadi tidak termasuk lajur berulang daripada hasil, manakala cantuman dalaman mengekalkan semua lajur daripada kedua-dua jadual.

Contoh

Pertimbangkan dua jadual berikut:

TableA:
+------------+----------+
| Column1     | Column2  |
+-----------------------+
| 1          |  2       |
+------------+----------+

TableB:
+--------------------+
| Column1  |  Column3 |
+--------------------+
| 1       |   3      |
+---------+----------+

Jika kami melakukan gabungan dalaman pada Lajur1, hasilnya akan merangkumi semua lajur daripada kedua-dua lajur jadual:

INNER JOIN TableA AS a ON a.Column1 = b.Column1
+------------+-----------+----------+----------+
| a.Column1  | a.Column2 | b.Column1| b.Column3|
+------------------------+-----------+----------+----------+
| 1          |  2        | 1        |   3      |
+------------+-----------+----------+----------+

Sebaliknya, gabungan semula jadi pada Lajur1 hanya akan menyertakan lajur unik, mengalih keluar lajur Lajur1 pendua:

NATURAL JOIN TableA
+------------+----------+----------+
| Column1     | Column2  | Column3  |
+-----------------------+----------+
| 1          |  2       |   3      |
+------------+----------+----------+

Kesimpulan

Walaupun gabungan semula jadi dan dalaman berfungsi untuk tujuan menggabungkan baris daripada berbilang jadual, mereka mempunyai perbezaan yang berbeza dari segi pengendalian lajur dan kaedah menentukan kriteria penyambungan. Memahami perbezaan ini adalah penting untuk gabungan pangkalan data yang berkesan dan mendapatkan semula data dalam pelbagai aplikasi.

Atas ialah kandungan terperinci Apakah perbezaan utama antara cantuman semula jadi dan cantuman dalaman dalam pangkalan data hubungan?. 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