文档介绍:二、语句题
1、Student(学生表) 字段名称 数据类型 长度 备注 含义
sno char 10 主键 学号sname varchar 20 姓名 ssex char 2 性别 sage tinyint 年龄 sdept varchar 30 所在系
Course(课程表) 字段名称 数据类型 长度 备注 含义 cno char 4 主键 课程号 cname varchar 100 课程名 credit int 学分 semester tinyint 开课学期
SC(选课表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号。外键,引用Student“sno” cno char 4 主键 课程号。外键,引用Course“Cno” grade int 成绩 。 针对以上各表,用SQL语句完毕如下操作。
记录每个系VB课程考试状况,列出系名和考试状况,其中考试状况为: 如果VB平均成绩不不大于等于90,则考试状况为“好”; 如果VB平均成绩在80~89分,则考试状况为“良好”; 如果VB平均成绩在70~79分,则考试状况为“普通”; 如果VB平均成绩低于70分,则考试状况为“较差”。
Select sdept系名
Case
When AVG(grade)>=90 then ‘好’
When AVG(grade) between 80 and 89 then’良好’
When AVG(grade) between70 and 79 then’普通’
When AVG(grade)<70 then’较差’
END AS 考试状况
From student s join sc on =
Where cname=’VB’
2、如下是一种学生选课系统数据库,涉及三张表,分别为:学生表、课程表、选课表,表构造如下所示:
Student(学生表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号 sname varchar 20 姓名 ssex char 2 性别 sage tinyint 年龄 sdept varchar 30 所在系
Course(课程表) 字段名称 数据类型 长度 备注 含义 cno char 4 主键 课程号 cname varchar 100 课程名 credit int 学分 semester tinyint 开课学期
SC(选课表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号。外键,引用Student“sno” cno char 4 主键 课程号。外键,引用Course“Cno” grade int 成绩。 针对以上各表,用SQL语句完毕如下操作。 查询哪些课程没有人选,规定列出课程号和课程名。(请用子查询实现)
Select cno,cname from course
Where cno not in(select cno from sc)
3、已知商品表、订单表、订单细节表、顾客表构造如下所示:
商品 字段名称 数据类型 长度 备注 商品编号 char 5 主键 商品名称 varchar 50 单价 numeric(10,2) 库存数量 int 取值不不大于等于0
顾客 字段名称 数据类型 长度 备注 顾客编号 char 5 主键 顾客姓名 varchar 50
订单 字段名称 数据类型 长度 备注 订单编号 char 10 主键 下单日期 date 顾客编号 char 5 引用顾客表外键
订单细节 字段名称 数据类型 长度 备注 订单编号 char 10 主键,引用订单表外键 商品编号 char 5 主键,引用商品表外键 数量 int 默认值为1
针对以上各表,用SQL语句完毕如下操作。 查询每种商品订单数量,涉及没有订单商品。列出:商品编号和订单数量。
Select ,count(distinct 订单编号)as订单数量 from
商品 left outer join 订单细节 on =
Group by
4、已知“图书”表构造如下: 列名 数据类型 长度 备注 书号 char 5 主键 书名 varchar 50
价格 numeric(10,2)
写出实现下列查询规定SQL语句。 查询所有书籍信息,列出:书号、书名、价格和级别。其中“级别”依照价格决定:对价格不大于等于20元级别显示为“很便宜”,对价