admin管理员组文章数量:1530844
2024年7月12日发(作者:)
Sql常见面试题 受用了
1. 用一条SQL 语句 查询出每门课都大于80 分的学生姓名
name kecheng fenshu
张三 语文 81
张三 数学 75
李四 语文 76
李四 数学 90
王五 语文 81
王五 数学 100
王五 英语 90
A: select distinct name from table where name not in (select distinct name from table
where fenshu<=80)
select name from table group by name having min(fenshu)>80
2. 学生表 如下:
自动编号 学号 姓名 课程编号 课程名称 分数
1 2005001 张三 0001 数学 69
2 2005002 李四 0001 数学 89
3 2005001 张三 0001 数学 69
删除除了自动编号不同, 其他都相同的学生冗余信息
A: delete tablename where 自动编号 not in(select min( 自动编号) from tablename group
by 学号, 姓名, 课程编号, 课程名称, 分数)
3.
一个叫
team 的表,里面只有一个字段name, 一共有4 条纪录,分别是
a,b,c,d, 对应四个球对,现在四个球对进行比赛,用一条sql 语句显示所有可
能的比赛组合.
你先按你自己的想法做一下,看结果有我的这个简单吗?
答:select ,
from team a, team b
where <
4.
请用SQL 语句实现:从TestDB 数据表中查询出所有月份的发生额都比101
科目相应月份的发生额高的科目。请注意:TestDB 中有很多科目,都有1 -12
月份的发生额。
AccID :科目代码,Occmonth :发生额月份,DebitOccur :发生额。
数据库名:JcyAudit ,数据集:Select * from TestDB
答:select a.*
from TestDB a
,(select Occmonth,max(DebitOccur) Debit101ccur from TestDB where
AccID='101' group by Occmonth) b
where th=th and ccur>101ccur
*********************************************************************
***************
5.
面试题:怎么把这样一个表儿
year month amount
1991 1 1.1
1991 2 1.2
1991 3 1.3
1991 4 1.4
1992 1 2.1
1992 2 2.2
1992 3 2.3
1992 4 2.4
查成这样一个结果
year m1 m2 m3 m4
1991 1.1 1.2 1.3 1.4
1992 2.1 2.2 2.3 2.4
版权声明:本文标题:Sql面试题大全 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1720724012a839691.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论