问题一、用一条SQL语句 查询出每门课都大于80分的学生姓名
name course score
张三 语文 81
张三 数学 75
李四 语文 76
李四 数学 90
王五 语文 81
王五 数学 100
王五 英语 90
问题二、学生表 如下:
自动编号 学号 姓名 课程编号 课程名称 分数
1 2005001 张三 0001 数学 69
2 2005002 李四 0001 数学 89
3 2005001 张三 0001 数学 69
删除除了自动编号不同,其他都相同的学生冗余信息
name course score
张三 语文 81
张三 数学 75
李四 语文 76
李四 数学 90
王五 语文 81
王五 数学 100
王五 英语 90
问题二、学生表 如下:
自动编号 学号 姓名 课程编号 课程名称 分数
1 2005001 张三 0001 数学 69
2 2005002 李四 0001 数学 89
3 2005001 张三 0001 数学 69
删除除了自动编号不同,其他都相同的学生冗余信息
解决方案 »
- insert into tb1 (col) select col tb2
- 求一insert into select语句
- 请教一个问题,A表中有三条数据,B表有一条数据,这条和A表中某一条一样,怎样用sql语句去除A表中和B表相同的那条记录,返回其它两条记录
- 如何让多个用户同时调用同一个存储过程时依次执行,而不是同时执行?
- 最最简单的SQL语句的SELECT问题!
- SQL里怎么来实现“金钱值”+汉字的查询存储过程?
- 问个简单的备份与恢复!
- 根据一个例是否为空来生成一个伪列的问题,不知道可以这样做吗?
- 远程两台SQL SERVER 服务器连接问题。参与有分。
- 怎样做?将SQL SERVER中的数据转换成SQL ANYWHERE。
- 求一两表对比查询语句
- sql小问题!
*
from
tb t
where
not exists(select 1 from tb where name=t.name and score<80)
from tb
group by name
having min(score)>80
delete from tb
where 自动编号
not in
select 自动编号
from
(
select 学号,姓名,课程编号,程名称,分数,min(自动编号) as 自动编号
from tb
group by 学号,姓名,课程编号,程名称,分数
)T
select
name
from
tb
group by
name
having
min(score)>802.delete from tb
where 自动编号
not in
(select 自动编号
from
(
select 学号,姓名,课程编号,程名称,分数,min(自动编号) as 自动编号
from tb
group by 学号,姓名,课程编号,程名称,分数
)t)
SELECT distinct t.name FROM 成绩表 t where t.name not in
(select distinct name from 成绩表 where score <=80)问题2:
SELECT min(自动编号) as 自动编号,学号,姓名,课程编号,课程名称,分数
FROM 学生表
group by 学号,姓名,课程编号,课程名称,分数
delete from tb
where
exists(select 1 from tb t where t.学号=tb.学号 and t.姓名=tb.姓名 and t.课程编号=tb.课程编号 and t.课程名称=tb.课程名称 and t.分数=tb.分数 and t.自动编号>tb.自动编号)
from tb
group by name
having min(score)>80