Rumah >pangkalan data >tutorial mysql >Bagaimanakah Rajah Venn Menggambarkan Pelbagai Jenis Gabungan SQL?

Bagaimanakah Rajah Venn Menggambarkan Pelbagai Jenis Gabungan SQL?

Susan Sarandon
Susan Sarandonasal
2025-01-14 09:07:43381semak imbas

How Do Venn Diagrams Illustrate Different Types of SQL Joins?

Menggunakan gambar rajah Venn untuk menggambarkan jenis sambungan SQL

Diagram Venn ialah perwakilan visual yang berkesan bagi sambungan SQL, membantu pengguna memahami cara data daripada jadual berbeza digabungkan. Berikut ialah ringkasan jenis sambungan berbeza yang diwakili menggunakan gambar rajah Venn yang diubah suai:

Mengikut arah jam dari sudut kanan atas:

1. Cantuman dalam (bulatan B berwarna merah, bahagian bertindih berwarna hijau)

  • Tujuan: Kembali hanya baris yang terdapat padanan antara dua jadual.
  • Pernyataan SQL: PILIH A.Warna, B.Warna DARI DALAM SERTAI B PADA A.Warna = B.Warna
  • Penjelasan: Pernyataan SQL mengutamakan jadual B, meletakkannya sebelum klausa "HIDUP", tetapi baris yang terhasil memfokuskan pada data yang dikongsi antara kedua-dua jadual.

2. Cantuman dalaman (hanya mengandungi bulatan B, bahagian bertindih berwarna hijau)

  • Tujuan: Kembalikan hanya baris dalam bulatan B yang disambungkan ke mana-mana baris dalam bulatan A (dalam kes ini, tiada satu pun).
  • Pernyataan SQL: PILIH A.Warna, B.Warna DARI DALAM SERTAI B PADA A.Warna BUKAN DALAM ('Hijau', 'Biru')
  • Penjelasan: Syarat gabungan mengecualikan nilai tertentu daripada kalangan A, dengan berkesan mengehadkan baris yang terhasil kepada bulatan B.

3. Sambungan silang (semua data disertakan)

  • Tujuan: Gabungkan setiap baris dalam bulatan A dengan setiap baris dalam bulatan B, tidak kira sama ada terdapat pertindihan atau padanan.
  • Pernyataan SQL: PILIH A.Warna, B.Warna DARIPADA SALANG SERTAI B
  • Penjelasan: Bilangan baris yang terhasil ialah hasil darab bilangan baris dalam setiap jadual (dalam kes ini 4x4 = 16).

4. Cantuman luar kiri (termasuk bulatan, bahagian bertindih berwarna hijau)

  • Tujuan: Mengandungi semua baris dalam bulatan A (tanpa mengira pertindihan atau tidak), dan menyambungkan baris yang sepadan dalam bulatan B.
  • Pernyataan SQL: PILIH A.Warna, B.Warna DARI LUAR KIRI SERTAI B PADA A.Warna = B.Warna
  • Arahan: Simpan semua baris yang tidak sepadan dalam bulatan A dan gunakan nilai NULL dalam lajur bulatan B.

5. Cantuman luar kiri (tidak termasuk bulatan A, bahagian bertindih berwarna hijau)

  • Tujuan: Sama seperti gabungan sebelumnya, tetapi hanya termasuk baris dalam bulatan A yang tidak disambungkan kepada mana-mana baris dalam bulatan B.
  • Pernyataan SQL: PILIH A.Warna, B.Warna DARI LUAR KIRI SERTAI B PADA A.Warna = B.Warna DI MANA B.Warna NULL
  • Arahan: Asingkan baris yang tidak sepadan dalam bulatan A, hasilkan baris merah yang berasingan dalam kes ini.

6. Cantuman luar kanan (termasuk bulatan B, bahagian bertindih berwarna hijau)

  • Tujuan: Serupa dengan cantuman luar kiri, tetapi mengekalkan baris yang tidak sepadan dalam bulatan B dan menggunakan nilai NULL dalam lajur bulatan A.
  • Pernyataan SQL: PILIH A.Warna, B.Warna DARI LUAR KANAN SERTAI B PADA A.Warna = B.Warna
  • Nota: Dalam contoh ini hanya baris biru dalam bulatan B disertakan kerana tiada padanan dalam bulatan A.

7. Sambungan luar penuh (termasuk semua data)

  • Tujuan: Gabungkan semua baris dalam bulatan A dan bulatan B, simpan baris yang tidak sepadan dan isi lajur dalam baris tidak sepadan dengan nilai NULL.
  • Pernyataan SQL: PILIH A.Warna, B.Warna DARI LUAR PENUH SERTAI B PADA A.Warna = B.Warna
  • Nota: Baris hasil termasuk dua bulatan dan baris yang tidak sepadan dikembangkan dengan nilai NULL.

Atas ialah kandungan terperinci Bagaimanakah Rajah Venn Menggambarkan Pelbagai Jenis Gabungan SQL?. 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