select * from course
where name in (select name from course where CName in('数学','物理','语文') group by name having count(*)=3)
and name not in(select name from course group by name having count(*)>3)
谁可以帮我解说下这句的我意思,最好分段说明~谢谢了
select * from course
where name in (select name from course where CName in('数学','物理','语文') group by name having count(*)=3)
and name not in(select name from course group by name having count(*)>3)
谁可以帮我解说下这句的我意思,最好分段说明~谢谢了
select name from course where CName in('数学','物理','语文') group by name having count(*)=3
从表course中取出name字段,条件是:CName的值为‘数学’或者‘物理’或者‘语文’,同时,查询出的记录要有3个相同的name。
如:
name Cname
123 数学
123 数学
123 物理
select * from course where name in ()
从course中取出所有字段,条件是:name在上面已经取出的name集合中。
select * from course 查询所有信息,在course表里
where name in (select name from course where CName in('数学','物理','语文') group by name having count(*)=3)
嵌套查询,姓名是(从course表里查找姓名,选择的课程名是“'数学','物理','语文'”,按姓名分组,且课程名出现次数为3次)
and name not in(select name from course group by name having count(*)>3)
且(嵌套查询)(姓名在course表里出现3次以上)就不添加进去