同一属性多值过滤就是同一个列要符合多个筛选条件。
此篇以筛选符合条件的学生成绩为例,涉及到两个表student(学生表)和stuscore(学生成绩表)。
1、查询数学和英语都是优秀(>85分)的学生信息
用表关联的方式
select a.no ,a.name,b.subject,b.score,c.subject,c.score from student a
join stuscore b on a.no =b.stuno
join stuscore c on b.stuno = c.stuno
and b.subject='数学' and b.score>85 and c.subject ='英语' and c.score>85 ;
用group by的方式,只能展示一个科目的成绩
select a.no ,a.name,b.subject,b.score from student a
join stuscore b on a.no =b.stuno
and b.subject in ('英语','数学') and b.score>=85 group by a.no having count(*)>=2;
b.subject in (‘英语’,‘数学’) and b.score>=85 是分别展示英语优秀的和数学优秀的学生信息
group by a.no having count(*)>=2 是每个学号必须有两条满足条件的记录,即既是英语优秀又是数学优秀的学生
點擊查看更多內容
為 TA 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦