首頁 >資料庫 >mysql教程 >為什麼我的 SQL INNER JOIN 與多個表不回傳任何結果?

為什麼我的 SQL INNER JOIN 與多個表不回傳任何結果?

Barbara Streisand
Barbara Streisand原創
2024-12-17 00:04:23225瀏覽

Why Doesn't My SQL INNER JOIN With Multiple Tables Return Any Results?

使用 SQL Inner JOIN 連接多個表

使用關聯式資料庫時,通常需要組合多個表中的資料。為此,SQL 提供了 INNER JOIN 運算子。

要在兩個表上執行內聯接,您需要指定它們的主鍵和外鍵之間的相等條件。例如:

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

此查詢將傳回兩個表中具有符合主鍵和外鍵的所有行。

要將其擴展到多個表,只需向查詢,使用相同的外鍵/主鍵相等條件。但是,以下程式碼沒有回傳任何結果:

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

這樣做的原因是必須為每個表單獨指定相等條件。正確的語法是:

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

此查詢將傳回 table1 中在 table2 和 table3 中具有匹配主鍵和外鍵的所有行。

以上是為什麼我的 SQL INNER JOIN 與多個表不回傳任何結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn