常见SQl试题1--考察排除法

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);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静山晚风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值