表table如下:
姓名 科目 成绩
张三 语文 85
张三 数学 74
李四 化学 98
李四 语文 65
王五 体育 85
王五 化学 95
用一名SQL语句得到成绩都超过80分的姓名,这句SQL语句应该怎么写?
select 姓名
from (
select *
from [table]
where 成绩 > 80
) as t
group by 姓名
having count(*) = (select COUNT(distinct 科目) from [table])
select distinct(姓名)
from table A
where not exists (select 1 from table B where A.姓名 = B.姓名 and 成绩<80)