Rumah > pangkalan data > tutorial mysql > Inner Join vs Outter Join: Apa perbezaannya dan kapan saya harus menggunakan masing -masing?

Inner Join vs Outter Join: Apa perbezaannya dan kapan saya harus menggunakan masing -masing?

Susan Sarandon
Lepaskan: 2025-01-25 17:37:08
asal
556 orang telah melayarinya

INNER JOIN vs. OUTER JOIN: What's the Difference and When Should I Use Each?

Sambungan pangkalan data: Perbandingan Inner Join and Out Join

Dalam operasi pangkalan data, operasi sambungan adalah kunci untuk menggabungkan pelbagai data jadual. Inner Join and Outjoin adalah dua jenis jenis sambungan. Artikel ini akan meneroka perbezaan utama dan aplikasi praktikal.

Join Inner: Persimpangan

Join Inner Memilih dua atau lebih lajur dalam jadual yang berbeza. Dalam sudut pandangan konseptual, ia memperoleh persimpangan dua koleksi dan dinyatakan dalam bahagian bertindih VENTU. Hanya dalam dua jadual pada masa yang sama akan termasuk dalam output.

luar gabungan: koleksi

Tidak seperti gabungan dalaman, Gabungan Luar mengandungi semua baris dalam jadual yang ditentukan, tanpa mengira sama ada mereka mempunyai sepadan dalam jadual lain. Operasi ini berkesan mewujudkan paralelisme yang diwakili oleh kawasan gabungan VENTU. type outjoin

outjoin dibahagikan kepada tiga jenis:

Kiri luar Join:

Dapatkan semua baris di sebelah kiri dan mana -mana baris yang sepadan di meja kanan. Baris tanpa sepadan di meja kiri di meja kanan akan mengandungi nilai null.

Jangkauan kanan Sertai:
    Sama seperti gabungan luar kiri, tetapi dapatkan semua baris di meja kanan dan garisan yang dipadankan di meja kiri.
  • Outs penuh Sertai: Semua baris kedua -dua jadual digabungkan, dan barang -barang yang sepadan hilang hilang dipenuhi dengan nilai null.
  • Contoh sebenar
  • Memandangkan jadual berikut yang mengandungi pelanggan dan data pesanan mereka:
  • pelanggan (id, nama) Pesanan (id, customer_id, produk)
Inner Join:

Pertanyaan ini akan mengembalikan hanya pelanggan yang telah membuat pesanan.

Kiri luaran Join:


Pertanyaan ini akan kembali kepada semua pelanggan, termasuk pelanggan tanpa pesanan, maklumat pesanan akan dibatalkan.

Jangkauan kanan Sertai:

<code class="language-sql">SELECT *
FROM customer
INNER JOIN orders ON customer.id = orders.customer_id;</code>
Salin selepas log masuk
Pertanyaan ini akan mengembalikan semua pesanan, termasuk pesanan yang ditempatkan oleh pelanggan dalam jadual pelanggan, dan maklumat pelanggan akan dibatalkan.

Jangkauan penuh Sertai:

Pertanyaan ini akan mengembalikan semua pelanggan dan semua pesanan untuk mengisi kekurangan item yang sepadan dengan nilai null.
<code class="language-sql">SELECT *
FROM customer
LEFT OUTER JOIN orders ON customer.id = orders.customer_id;</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Inner Join vs Outter Join: Apa perbezaannya dan kapan saya harus menggunakan masing -masing?. 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