1
1.用一条SQL语句 查询出每门课都大于80分的学生姓名
name kecheng fenshu
张三 语文 81
张三 数学 75
李四 语文 76
李四 数学 90
王五 语文 81
王五 数学 100
王五 英语 90
结果 select distinct name from table where name not in (select distinct name from table where fenshu<=80)
让人出乎意料的方法,利用用到了数学的思想
2
2.学生表 如下:
自动编号 学号 姓名 课程编号 课程名称 分数
1 2005001 张三 0001 数学 69
2 2005002 李四 0001 数学 89
3 2005001 张三 0001 数学 69
删除除了自动编号不同,其他都相同的学生冗余信息
create table t_student(id int primary key auto_increment, snumber varchar(22), name varchar(22), courseid varchar(22), coursename varchar(22), fenshu int);
insert into t_student(snumber,name,courseid,coursename,fenshu) values('2005001','张三','0001','数学',69);
insert into t_student(snumber,name,courseid,coursename,fenshu) values('2005002','李四','0001','数学',81);
insert into t_student(snumber,name,courseid,coursename,fenshu) values('2005001','张三','0001','数学',69);
delete from t_student where id not in (select min(id) from t_student group by snumber);