根据表的结构来使用sql语句查询 建表SQL如下:
create table stu_grade(name varchar(20),coursevarchar(20),grade int);
– 插入数据
INSERT INTO stu_grade VALUES (‘张三’, ‘语文’, ‘81’); INSERT INTO stu_grade VALUES (‘张三’, ‘数学’, ‘75’); INSERT INTO stu_grade VALUES (‘李四’, ‘语文’, ‘76’); INSERT INTO stu_grade VALUES (‘李四’, ‘数学’, ‘90’); INSERT INTO stu_grade VALUES (‘王五’, ‘语文’, ‘81’); INSERT INTO stu_grade VALUES (‘王五’, ‘数学’, ‘100’); INSERT INTO stu_grade VALUES (‘王五’, ‘英语’, ‘90’);
查询每门课都大于80分的同学的姓名:
select distinct name from stu_grade where name not in(select distinct name from stu_grade where grade <=80);
还有一个方法
select name from stu_grade group by name HAVING MIN(grade) > 80;
拓展: SQL SELECT distinct 语句 概念: 在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值
语法: SELECT DISTINCT 列名称 FROM 表名称 在结果集中有多个一样相同的值时,如果需要唯一不同的值则采用distinct语句 两个w3School需要唯一的值这个时候则 SELECT DISTINCT Company FROM Orders 现在,在结果集中,“W3School” 仅被列出了一次。
