一个mysql多表联查的语句怎么写

分别是student,course,score表,怎么得到每个学生最高分数的科目和它的分数

这个问题是集合减的问题
很可惜 你这个是mysql,只能用not in
select?id?from?客户表
where?id?not?in?
(
select?id?from?数据表1?WHERE?上传数据时间>now()-7
union
select?id?from?数据表2?WHERE?上传数据时间>now()-7
union
select?id?from?数据表3?WHERE?上传数据时间>now()-7
union
select?id?from?数据表2?WHERE?上传数据时间>now()-7
)
如果你使用的是oracle,还有效率更高的方法,用关键字minus
select?id?from?客户表
minus
select?id?from?数据表1?WHERE?上传数据时间>sysdate-7
minus
select?id?from?数据表2?WHERE?上传数据时间>sysdate-7
minus
select?id?from?数据表3?WHERE?上传数据时间>sysdate-7
minus
select?id?from?数据表2?WHERE?上传数据时间>sysdate-7
或者sqlserver使用关键字except
select?id?from?客户表
except
select?id?from?数据表1?WHERE?上传数据时间>getdate()-7
except
select?id?from?数据表2?WHERE?上传数据时间>getdate()-7
except
select?id?from?数据表3?WHERE?上传数据时间>getdate()-7
except
select?id?from?数据表2?WHERE?上传数据时间>getdate()-7
以上
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-12
连表查询,左连接,右链接, 最大值最小值 用max函数
相似回答