Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menyertai Jadual dalam SQL dengan Cekap untuk Mendapatkan Data daripada Berbilang Lajur?

Bagaimanakah Saya Boleh Menyertai Jadual dalam SQL dengan Cekap untuk Mendapatkan Data daripada Berbilang Lajur?

Barbara Streisand
Barbara Streisandasal
2025-01-15 07:20:44929semak imbas

How Can I Efficiently Join Tables in SQL to Retrieve Data from Multiple Columns?

Mengambil Data daripada Berbilang Lajur Menggunakan SQL Table Joins

Panduan ini menunjukkan cara menggabungkan data daripada berbilang jadual SQL dengan cekap untuk mendapatkan maklumat merentas pelbagai lajur. Kami akan menumpukan pada kaedah INNER JOIN, menyerlahkan penggunaannya dan menangani pertimbangan khusus untuk Microsoft Access.

Kaedah INNER JOIN

INNER JOIN menggabungkan baris daripada dua atau lebih jadual berdasarkan nilai lajur yang dikongsi. Jadual yang terhasil hanya mengandungi baris yang terdapat padanan dalam semua jadual yang digabungkan. Contoh kami melibatkan tbl_facilitatorClasses dan tbl_facilitators untuk memaparkan nama kelas dan butiran fasilitator (utama dan menengah).

Berikut ialah pertanyaan SQL menggunakan INNER JOIN:

<code class="language-sql">SELECT 
    tbl_facilitatorClasses.className,
    tbl_facilitators.facilLname AS primaryFacilitatorLname,
    tbl_facilitators.facilFname AS primaryFacilitatorFname,
    tbl_facilitatorClasses.secondFacil,
    tbl_facilitators.facilLname AS secondaryFacilitatorLname,
    tbl_facilitators.facilFname AS secondaryFacilitatorFname
FROM 
    tbl_facilitatorClasses
INNER JOIN 
    tbl_facilitators ON tbl_facilitatorClasses.primeFacil = tbl_facilitators.facilID
INNER JOIN 
    tbl_facilitators AS secondaryFacilitator ON tbl_facilitatorClasses.secondFacil = secondaryFacilitator.facilID;</code>

Nota Penting untuk MS Access: Tanda kurung dalam Gabungan Berbilang

Dalam Microsoft Access, apabila menggunakan berbilang INNER JOIN pernyataan, adalah penting untuk menyertakan setiap cantuman dalam kurungan untuk memastikan susunan pelaksanaan yang betul. Contoh di atas menggunakan kurungan untuk kejelasan dan untuk mengelakkan kemungkinan ralat.

Mengapa Tidak UNION?

Walaupun UNION menggabungkan data secara menegak daripada berbilang jadual atau subkueri, ia tidak sesuai untuk senario ini. UNION hanya menambah baris tanpa memadankannya berdasarkan nilai lajur yang dikongsi, yang tidak akan memberikan gabungan data fasilitator dan kelas yang diingini.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyertai Jadual dalam SQL dengan Cekap untuk Mendapatkan Data daripada Berbilang Lajur?. 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