MySQL多表联合查询过滤重复数据怎么写

MySQL多表联合查询过滤重复数据怎么写,第1张

复审表通过一次自连接筛选出最大值后再做关联

SELECT

花名册.工号,

花名册.姓名,

取证情况.证书信息,

复审情况F.复审时间

FROM

花名册

LEFT JOIN 取证情况 ON 花名册.工号 = 取证情况.工号

LEFT JOIN (

SELECT 复审情况.* FROM 复审情况 

INNER JOIN

(SELECT MAX(复审时间) 复审时间,工号 FROM 复审情况 GROUP BY 工号) 复审情况2

ON 复审情况.复审时间=复审情况2.复审时间 AND 复审情况.工号=复审情况2.工号

) 复审情况F ON 花名册.工号 = 复审情况F.工号

多表查询是指基于两个和两个以上的表或是视图的查询.在实际应用中,查询单个表可能不能满足你的需求,(如显示sales部门位置和其员工的姓名),这种情况下需要使用到(dept表和emp表)

自连接是指在同一张表的连接查询

select * from emp where empno=(select mgr from emp where ename='ford')

子查询是指嵌入在其它sql查询语句中的select语句,也叫嵌套查询

单行子查询是 指只返回一行数据的子查询语句

select * from emp where deptno=(select deptno from emp where ename='smith')

多行子查询指返回多行数据的子查询 使用关键字 in

如果我们的一个子查询,返回的 结果是多列,就叫做列子查询

合并多个select语句的结果,可以使用集合 *** 作符 union,union all


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/7363016.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-04
下一篇2023-04-04

发表评论

登录后才能评论

评论列表(0条)

    保存