博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL经典面试题(二)
阅读量:4640 次
发布时间:2019-06-09

本文共 1982 字,大约阅读时间需要 6 分钟。

有3个表S,C,SC

S(SNO,SNAME)代表(学号,姓名)  //主键:SNO   
//多个人,多门课 3张表   ,SC 关系表
C(CNO,CNAME,CTEACHER)代表(课号,课名,教师)//主键:CNO
SC(SNO,CNO,SCGRADE)代表(学号,课号成绩)//主键:SNO+CNO

 

问题:

1.找出没选过“黎明”老师的所有学生名字。

select sname from s join sc on (s.sno = sc.sno) join c (c.cno = sc.cno) where c.cteacher <> 'liming';

2.列出2门以上(含2门)不及格学生名字及平均成绩。

select sname from s where sno in ( select sno from sc where scgrade < 60 group by sno having count(*) >= 2);

 

3.即学过1号课程又学过2号课程所有学生的名字。

select sname from s where sno in ( select sno from sc where cno = 1 and sno in ( select sno from sc where cno = 2));

 

 

 

 

 

对于教学数据库的三个表:

 S(S#,SNAME,AGE,SEX)
 SC(S#,C#,GRADE)
 C(C#,CNAME,TEACHER)
 试用SQL查询语句完成下列查询操作
(1)统计有学生选修的课程门数
(2)求选修C4课程的女学生的平均年龄
(3)求刘老师所授的课程的每门课程的平均成绩
(4)统计每门课程的学生选修人数(超过10人的课程才统计)。要求显示课程号和人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。
(5)检索学号比王军同学大,而年龄比他小的学生姓名。
(6)在表SC中检索成绩为空值的学生学号和课程号
(7)求年龄大于女同学平均年龄的男学生的姓名和年龄
(8)求年龄大于所有女同学年龄的男学生的姓我和年龄

 

对于教学数据库的三个表:
学生表 S(S#,SNAME,AGE,SEX)
选课表 SC(S#,C#,GRADE)
课程表 C(C#,CNAME,TEACHER)
 试用SQL查询语句完成下列查询操作
(1)统计有学生选修的课程门数
select count(C#)
from SC

(2)求选修C4课程的女学生的平均年龄

select avg(AGE)
from S, SC
where S.S#=SC.S# and SC.C#='C4' and SEX='女'

(3)求刘老师所授的课程的每门课程的平均成绩

select CNAME, avg(GRADE)
from SC, C
where SC.C#=C.C# and C.TEACHER='刘老师'
group by CNAME

(4)统计每门课程的学生选修人数(超过10人的课程才统计)。要求显示课程号和人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。

select C#, count(S#) as count_s
from S, SC
where S.S# = SC.S#
having count(S#)>10
group by C#
order by count_s, C#

(5)检索学号比王军同学大,而年龄比他小的学生姓名。

select SNAME
from S,
  (select S# as S_WJ, AGE as AGE_WJ from S where S.NAME='王军') as A
where S# > A.S_WJ and AGE < A.AGE_WJ

(6)在表SC中检索成绩为空值的学生学号和课程号

select S#,C#
from SC
where GRADE is null

(7)求年龄大于女同学平均年龄的男学生的姓名和年龄

select NAME, AGE
from S,
  (select avg(AGE) as AGE1 from S where SEX='女') as A
where SEX='男' and AGE > A.AGE1

(8)求年龄大于所有女同学年龄的男学生的姓我和年龄

select NAME, AGE
from S,
  (select max(AGE) as AGE1 from S where SEX='女') as A
where SEX='男' and AGE > A.AGE1

转载于:https://www.cnblogs.com/Peacha/archive/2012/06/04/sql%e9%9d%a2%e8%af%95%e9%a2%98%e4%ba%8c.html

你可能感兴趣的文章
HDU 1217 Arbitrage (Floyd + SPFA判环)
查看>>
IntelliJ idea学习资源
查看>>
Django Rest Framework -解析器
查看>>
ExtJs 分组表格控件----监听
查看>>
Hibernate二级缓存配置
查看>>
LoadRunner常用术语
查看>>
关于jedis2.4以上版本的连接池配置,及工具类
查看>>
记忆讲师石伟华微信公众号2017所有文章汇总(待更新)
查看>>
mechanize (1)
查看>>
FactoryBean
查看>>
Coolite动态加载CheckboxGroup,无法在后台中获取
查看>>
如何在我们项目中利用开源的图表(js chart)
查看>>
nfs服务器工作原理
查看>>
C3P0连接池工具类使用
查看>>
SVN常用命令备注
查看>>
孩子教育
查看>>
解决Cacti监控图像断断续续问题
查看>>
结构体的传参理解成员的存储方式
查看>>
python 进程与线程(理论部分)
查看>>
什么是API
查看>>