Rumah >pangkalan data >tutorial mysql >Bagaimanakah SQL Joins Menggabungkan Data daripada Pelbagai Jadual?

Bagaimanakah SQL Joins Menggabungkan Data daripada Pelbagai Jadual?

Patricia Arquette
Patricia Arquetteasal
2025-01-05 02:47:411031semak imbas

How Do SQL Joins Combine Data from Multiple Tables?

Cara Menyertai Dua Jadual dalam SQL

Dalam SQL, menyertai jadual membolehkan anda menggabungkan data daripada berbilang jadual berdasarkan lajur biasa. Anda boleh menggunakan pelbagai jenis cantuman, seperti cantuman dalam, cantuman kiri, cantuman kanan dan cantuman luar penuh.

Berikut ialah contoh menggunakan cantuman luar kiri untuk mengambil data daripada dua jadual, A dan B:

Jadual:

TABLE A TABLE B
uid name uid address
1 test1 1 address1
2 test2 2 address2
3 test3 4 address3
4 test4

Pertanyaan:

SELECT A.uid, A.name, B.address
FROM A
LEFT JOIN B ON A.uid=B.uid;

Output:

uid name address
1 test1 address1
2 test2 address2
3 test3 NULL
4 test4 address3

Seperti yang anda lihat, hasilnya termasuk semua baris daripada jadual A dan baris yang sepadan daripada jadual B. Untuk baris dengan uid=3 dalam jadual A, tiada baris yang sepadan dalam jadual B, jadi lajur alamat ditetapkan kepada NULL.

Untuk memahami cara gabungan berfungsi, ini berguna untuk menggambarkan proses tersebut. Untuk gabungan luar kiri, baris dari jadual kiri (A dalam kes ini) dipertimbangkan dahulu. Untuk setiap baris dalam jadual kiri, keadaan cantuman dinilai untuk mencari baris yang sepadan dalam jadual kanan (B dalam kes ini). Jika padanan ditemui, data daripada kedua-dua baris digabungkan menjadi satu baris hasil tunggal. Jika tiada padanan ditemui, data dari jadual kiri sahaja disertakan dalam baris hasil, dengan mana-mana lajur yang hilang dari jadual kanan ditetapkan kepada NULL.

Rujuk imej di https://www.codeproject .com/KB/database/Visual_SQL_Joins/Visual_SQL_JOINS_V2.png untuk perwakilan visual gabungan.

Atas ialah kandungan terperinci Bagaimanakah SQL Joins Menggabungkan Data daripada Pelbagai Jadual?. 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