文档详情

SQL经典面试题及答案.pdf

发布:2021-09-14约4.93千字共9页下载文档
文本预览下载声明
第一章 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 select name from table group by name having count(kecheng)=3 and min(fenshu)=80 2. 学生表 如下 : 自动编号 学号 姓名 课程编号 课程名称 分数 页脚内容 1 第一章 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. 面试题:怎么把这样一个表儿 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 查成这样一个结果 页脚内容 2 第一章 year m1 m2 m3 m4 1991 1.1 1.2 1.3 1.4 1992 2.1 2.2 2.3 2.4 答案一、 select year, (select amount from aaa m where month=1 and m.year=aaa.year) as m1, (select amount from aaa m where month=2 and m.year=aaa.year) as m2, (select amount from aaa m where month=3 and m.year=aaa.year) as m3, (select amount from aaa m where month=4 and m.year=aaa.year) as m4 from aaa group by year 4. 说明:拷贝表 ( 拷贝数据 , 源表名: a 目标表名: b) SQL: insert into b(a, b, c) select d,e,f from a; 5.有一张表,里面有 3 个字段:语文,数学,英语。其中有 3 条记录分别表示语文 70 分,数学 80 分,英语 58 分,请用一条 sql语句查询出这三条记录并按以下条件显示出来(并写出您的思路): 大于或等于 80 表示优秀,大于或等于 60 表示及格,小于 60 分表示不及格。 显示格式: 页脚内容 3
显示全部
相似文档