Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Melaksanakan Cantuman Dalaman pada Berbilang Jadual SQL?

Bagaimana untuk Melaksanakan Cantuman Dalaman pada Berbilang Jadual SQL?

Barbara Streisand
Barbara Streisandasal
2024-12-27 19:23:16449semak imbas

How to Correctly Perform Inner Joins on Multiple SQL Tables?

Pencantuman Dalaman Berbilang Jadual dalam SQL

Cambungan dalam ialah operasi SQL yang menggabungkan baris daripada berbilang jadual berdasarkan nilai lajur biasa, hanya mengembalikan baris yang syarat dipenuhi. Apabila bekerja dengan lebih daripada dua jadual, adalah penting untuk menentukan kriteria sambung untuk setiap pasangan jadual.

Dalam kod yang anda berikan, anda cuba untuk menyambung dalam tiga jadual menggunakan satu kunci asing dengan sintaks berikut :

SELECT * 
FROM table1 
INNER JOIN table2
INNER JOIN table3 
ON table1.primaryKey=table2.table1Id=table3.table1Id

Pertanyaan ini tidak akan mengembalikan sebarang hasil kerana kriteria penyertaan tidak betul. Untuk menyertai berbilang jadual dengan betul, anda perlu menentukan syarat cantum untuk setiap pasangan jadual secara berasingan. Sintaks yang betul untuk penyambungan dalaman tiga jadual dengan kunci asing yang sama ialah:

SELECT * 
FROM table1 
INNER JOIN table2
      ON table1.primaryKey=table2.table1Id
INNER JOIN table3
      ON table1.primaryKey=table3.table1Id

Dalam pertanyaan yang diperbetulkan ini, kriteria penyambungan untuk setiap pasangan jadual (jadual1 dan jadual2, jadual1 dan jadual3) dinyatakan secara eksplisit, memastikan bahawa hanya baris dengan nilai kunci asing yang sepadan daripada ketiga-tiga jadual dikembalikan.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Cantuman Dalaman pada Berbilang Jadual 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