使用外键从另一个表中选择数据

Yas*_*has 15 mysql join foreign-key

我有两个表 A 和 B。

表A

id | name | num
Run Code Online (Sandbox Code Playgroud)

表B

id | date | roll
Run Code Online (Sandbox Code Playgroud)

id表 B 中的外键与id表 A 中的相关。

我想获取表 B 的内容,其中给出了 id 以及该数据,我需要从表 A 中给出其 id 的名称。

注意:不能使用逗号分隔的多个查询;需要SELECT在一个查询中同时执行这两个s。

Dan*_*her 20

连接表是关系数据库的基本原则。在您的情况下,A 和 B 与id列相关,这意味着您可以使用类似于此的语法:

SELECT a.id, a.name, a.num, b.date, b.roll
FROM a
INNER JOIN b ON a.id=b.id;
Run Code Online (Sandbox Code Playgroud)

INNER JOIN意味着您只会看到 A 和 B 中有匹配记录的行。如果您想要 A 中的所有行和 B 中的匹配记录,您可以更改INNER JOINLEFT JOIN. 相反,如果您想要来自 B 的所有记录并且只想要来自 A 的匹配记录,请使用RIGHT JOIN. 最后,如果您需要两个表中的所有内容,无论是否匹配,您都可以使用FULL JOIN.


Gov*_*ind 5

为了从与外键关联的两个表中获取结果,您需要连接这些表。

根据您想要的结果查找以下查询:

SELECT name, date, roll
FROM A
INNER JOIN B
ON A.id = B.id;
Run Code Online (Sandbox Code Playgroud)