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

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

Barbara Streisand
發布: 2024-12-17 00:04:23
原創
223 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板