数据库面试

假设,教学数据库中存在以下三个基本表:
S(S#,SNAME,AGE,SEX)学生表(学生,姓名,年龄,性别)
SC(S#,C#,GRADE) 学生和课程关系表(学号,课程号,成绩)
C(C#,CNAME,TEACHER)课程表(课程号,课程名称,老师)

问题一:检索学习课程号为C2的学生学号和姓名

SELECT S.S#,SNAME  
FROM S,SC  
WHERE S.S#=SC.S#  AND  SC.C#='C2'

问题二:检索选修课程名为MATHS的学生学号和姓名

SELECT S.S#,SNAME  
	FROM  S  
		WHERE  S#  IN  (
			SELECT  SC.S# 
				FROM  SC  
					WHERE  C# IN (
						SELECT C.C# 
							FROM  C 
								WHERE CNAME='MATHS'));

问题三:检索选修课程为号为C2和C4的学生学号

SELECT SC.S# FROM  SC  WHERE C#='C2'  OR C#='C4'

问题四:求男学生的总人数和平均年龄

SELECT  SUM(*),AVG(AGE) FROM S WHERE SEX='男';

问题六:在S中检索姓名以字符D打头的学生姓名

SELECT S.SNAME FROM S WHERE SNAME LIKE 'D%';

问题七:在S中找年龄值为空的学生姓名

SELECT S.SNAME FROM S WHERE AGE is null;

问题八:检索至少不学C2和C4两门课程的学生学号。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值