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);
Output:
+------------+-----------+------------+-----------+ | a.Column1 | a.Column2 | b.Column1 | b.Column3 | +------------+-----------+------------+-----------+ | 1 | 2 | 1 | 3 | +------------+-----------+------------+-----------+
Walau bagaimanapun, cantuman semula jadi antara JadualA dan JadualB akan menghilangkan lebihan Lajur1:
SELECT * FROM TableA NATURAL JOIN TableB;
Output:
+------------+----------+----------+ | Column1 | Column2 | Column3 | +------------+----------+----------+ | 1 | 2 | 3 | +------------+----------+----------+
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!