一尘不染

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

mysql

我有两张表 A 和 B。

表 A

id | name | num

表 B

id | date | roll

idin 表 B 是与id表 A相关的外键。

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

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


阅读 74

收藏
2022-10-13

共1个答案

一尘不染

连接表是关系数据库的基本原理。在您的情况下, 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.

2022-10-13