查询每门课都大于80分的学生
方法一:找出每个同学的最低分,如果最低分大于80,则所有科目都大于80分
-- 建表, 插入数据
CREATE OR REPLACE TEMPORARY VIEW students(name, kecheng, fenshu) AS
VALUES ('zs', '语文', 81),
('zs', '数学', 75),
('ls', '语文', 76),
('zs', '数学', 90),
('ww', '语文', 81),
('ww', '数学', 100),
('ww', '英语', 90);
-- 结果查询
SELECT name
FROM students
GROUP BY name
HAVING MIN(fenshu) > 80;
方法二:if函数标记,大于80的为0,小于等于80的为1,然后求和,如果和等于0,则所有课都大于80分
SELECT name
FROM students
GROUP BY name
HAVING SUM(IF(fenshu > 80, 0, 1)) = 0;