Mysql

使用外鍵從另一個表中選擇數據

  • December 25, 2020

我有兩張桌子 A 和 B。

表 A

id | name | num

表 B

id | date | roll

idin 表 B 是與id表 A相關的外鍵。

我想獲取給定 id 的表 B 的內容以及該數據,我需要從表 A 中給出其 id 的名稱。

**注意:**不能使用逗號分隔的多個查詢;需要SELECT在一個查詢中執行兩個 s。

連接表是關係數據庫的基本原理。在您的情況下, A 和 B 與id列相關,這意味著您可以使用類似於此的語法:

SELECT a.id, a.name, a.num, b.date, b.roll
FROM a
INNER JOIN b ON a.id=b.id;

INNER JOIN意味著您只會看到 A 和 B 中有匹配記錄的行。如果您想要 A 中的所有行和 B 中的匹配記錄,您可以更改INNER JOINLEFT JOIN. 相反,如果您想要 B 中的所有記錄並且只想要 A 中的匹配記錄,請使用RIGHT JOIN. 最後,如果您需要兩個表中的所有內容,無論是否匹配,您都可以使用FULL JOIN.

要從與外鍵關聯的兩個表中獲取結果,您需要連接這些表。

查找以下查詢,就像您想要結果一樣:

SELECT name, date, roll
FROM A
INNER JOIN B
ON A.id = B.id;

引用自:https://dba.stackexchange.com/questions/129023