简单的 MySQL 两表查询 [重复]

Posted

技术标签:

【中文标题】简单的 MySQL 两表查询 [重复]【英文标题】:Simple MySQL Two Table Query [duplicate] 【发布时间】:2018-05-01 04:54:39 【问题描述】:

我有两张桌子

1st table :-

id name dept
1  John dept1
2  Mary dept2
3  Dave dept3
4  John dept4
5  John dept5


2nd table :-

id submitter dept
1  Rupert    dept3
2  Joe       dept1
3  Lisa      dept2
4  Louise    dept4
5  Tom       dept5

我想要的是一个查询,允许第一个表中 name 列中的人员仅显示基于其匹配部门的记录,例如表 1 中的 John 将返回表 2 中的 3 条记录(id 2,4 和 5 )

到目前为止我已经尝试过SELECT * FROM table1, table2 WHERE table1.dept = table2.dept AND table1.name='John'

【问题讨论】:

这是我卡住的地方 - 到目前为止,我已经尝试 SELECT * FROM table1, table2 WHERE table1.dept = table2.dept AND table1.name='John' 你需要查看JOIN的 谢谢 JemoeE 现在可以阅读 :) 查询结果有什么问题? 您有许多未解决的问题(恕我直言)以及可能的解决方案;它们应该被标记为已解决,以便正确关闭这些问题,包括这个问题。 【参考方案1】:

如果我正确理解您的问题,您需要使用字段 dept 在两个表之间进行连接,并在第一个表中按请求者的名称过滤您的结果。

SELECT t2.submitter, t2.dept
FROM table1 t1
LEFT JOIN table2 t2 ON t1.dept = t2.dept
WHERE t1.name = :person_name

Documentation and examples(您也可以在Inner、right、full 和self join's 中查看左侧菜单)。

【讨论】:

以上是关于简单的 MySQL 两表查询 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

MVC5+EF6简单实例---以原有SQLServer数据库两表联合查询为例

mysql中两表inner join连接 如何去重

sql查询两表中不重复记录

MySQL:统计两表重复数据出现次数

mysql 数据操作 单表查询 简单查询 避免重复DISTINCT

YII 两表间和两模块间的数据库查询