Mysql
使用外鍵從另一個表中選擇數據
我有兩張桌子 A 和 B。
表 A
id | name | num
表 B
id | date | roll
id
in 表 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 JOIN
為LEFT JOIN
. 相反,如果您想要 B 中的所有記錄並且只想要 A 中的匹配記錄,請使用RIGHT JOIN
. 最後,如果您需要兩個表中的所有內容,無論是否匹配,您都可以使用FULL JOIN
.
要從與外鍵關聯的兩個表中獲取結果,您需要連接這些表。
查找以下查詢,就像您想要結果一樣:
SELECT name, date, roll FROM A INNER JOIN B ON A.id = B.id;