Rumah > pangkalan data > tutorial mysql > Apakah Perbezaan Antara Gabungan SQL Dalam, Kiri, Kanan dan Luar?

Apakah Perbezaan Antara Gabungan SQL Dalam, Kiri, Kanan dan Luar?

Patricia Arquette
Lepaskan: 2025-01-09 17:16:42
asal
858 orang telah melayarinya

What are the Differences Between Inner, Left, Right, and Outer SQL Joins?

Pemahaman mendalam tentang nuansa SQL JOIN

SQL JOIN memainkan peranan penting dalam pemprosesan dan pengagregatan data. Antara pelbagai jenis JOIN, JOIN dalam (INNER JOIN), left outer JOIN (LEFT OUTER JOIN), kanan outer JOIN (RIGHT OOTER JOIN) dan outer JOIN penuh (FULL OUTER JOIN) sering digunakan untuk menggabungkan data daripada berbilang jadual berdasarkan tertentu. syarat.

SERTAI DALAM (SERTAI DALAM)

Inner JOIN mengambil hanya baris daripada dua atau lebih jadual di mana lajur gabungan sepadan. Ia hanya termasuk baris yang mempunyai padanan dalam kedua-dua jadual, dengan berkesan menapis mana-mana baris yang tidak sepadan.

SERTAI LUAR (SERTAI LUAR)

Gunakan JOIN luar apabila anda ingin memasukkan semua baris dari satu jadual, tidak kira sama ada baris itu sepadan dengan baris dalam jadual lain. Terdapat tiga jenis JOIN luaran:

  • LEFT OUTER JOIN: Mengandungi semua baris dari jadual kiri dan mana-mana baris yang sepadan dari jadual kanan. Baris yang tidak sepadan dalam jadual kiri akan diisi dengan nilai NULL.
  • KANAN OUTER JOIN: Serupa dengan left OUTER JOIN, tetapi termasuk semua baris dari jadual kanan dan mana-mana baris yang sepadan dari jadual kiri. Baris yang tidak sepadan dalam jadual kanan akan diisi dengan nilai NULL.
  • SERTAI LUAR PENUH: Mengandungi semua baris dari jadual kiri dan kanan. Jika terdapat padanan pada satu sisi, baris yang sepadan dipaparkan; jika tiada padanan, ia diisi dengan nilai NULL.

Contoh

Pertimbangkan contoh yang disediakan dalam artikel:

表1 (Customers) 表2 (Orders)
ID Name ID Customer ID Order Date
1 John 1 1 2023-01-01
2 Mary 2 1 2023-01-02
3 Tom 3 2 2023-01-03
4 Alice 4 3 2023-01-04

SERTAI dalaman hanya akan mengembalikan baris di mana ID Pelanggan sepadan dalam kedua-dua jadual:

Customer ID Name Order Date
1 John 2023-01-01
1 John 2023-01-02

Nota Prestasi

Prestasi JOIN bergantung pada pelbagai faktor, termasuk saiz dan kerumitan jadual, pengoptimum pertanyaan yang digunakan dan enjin pangkalan data. Secara amnya, JOIN dalam adalah lebih cekap kerana ia menapis baris yang tidak dapat ditandingi. JOIN Luar boleh menjadi lebih intensif sumber, terutamanya apabila berurusan dengan meja besar dengan sedikit padanan. Memilih jenis JOIN yang sesuai adalah penting untuk mengoptimumkan pertanyaan pangkalan data.

Atas ialah kandungan terperinci Apakah Perbezaan Antara Gabungan SQL Dalam, Kiri, Kanan dan 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