资源描述
二、语句题
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 s.sno=sc.sno
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元级别显示为“很便宜”,对价格不大于等于50元且不不大于20元级别显示为“中档”,对价格不不大于50元级别显示为:“很贵”。
Select 书号,书名,价格
Case
When 价格<=20 then’很便宜’
When 价格 between 20 and 50 then’中档’
When 价格>50 then’很贵’
END AS 级别
From 图书
5、此应用场景中重要包括如下几种关系:
1:影片专项信息(TSubject )关系,重要涉及专项编号(SubjectID)、专项名称(SubjectName)、备注(SubjectMemo);
2:影片基本信息(TVideo)关系,重要涉及影片编号(VideoID)、影片名称(VideoName)、导演(VideoDirector)、上映时间(VideoTime)、主演(VideoActor)、影片海报(VideoPoster)、影片描述(VideoDesc)、集数(VideoEpisode )、价格(VideoPrice)、影片状态(VideoState)、备注(VideoMemo)、专项编号(SubjectID);
3:影片剧情基本信息(TVideoEpisode)关系,重要涉及剧情编号(EpisodeID)、剧情集数(EpisodeNum)、播放地址(EpisodeURL)、备注(EpisodeMemo);、影片编号(VideoID);
依照上述做给关系,写出记录各专项影片数量查询语句,不涉及影片数量少于5部(涉及5部)影片。(表名、列名均用给出英文)
Select SubjectID count(*)as影片数量 from
TSubject join TVideo on TSubject.SubjectID=TVideo.SubjectID
Group by SubjectID
Having count(*)>=5
6、如下是一种学生选课系统数据库,涉及三张表,分别为:学生表、课程表、选课表,表构造如下所示:
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选课记录。
Delete from sc
Where sno in(select sno from student where=’计算机系’)
and cno in(select cno from course where cname=’VB’)
and grade<60
7、如下是一种学生选课系统数据库,涉及三张表,分别为:学生表、课程表、选课表,表构造如下所示:
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 top 3 with ties sname,sage from student
Where sdept=’计算机系’
Order by sage desc
8、如下是一种学生选课系统数据库,涉及三张表,分别为:学生表、课程表、选课表,表构造如下所示:
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语句完毕如下操作。 删除信息管理系成绩不大于50分学生修课纪录。(请用子查询实现)
Delete from sc
Where sno in(select sno from student where sdept=’信息管理系’)
And grade<50
9、如下是一种学生选课系统数据库,涉及三张表,分别为:学生表、课程表、选课表,表构造如下所示:
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 sname from
Student s left outer join sc on s.sno=sc.sno
Where sdept=’计算机系’ and sc.sno is null
10、如下是一种学生选课系统数据库,涉及三张表,分别为:学生表、课程表、选课表,表构造如下所示:
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语句完毕如下操作。 如下是一种学生选课系统数据库,涉及三张表,分别为:学生表、课程表、选课表,表构造如下所示: 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,则成绩状况为“好”; 如果成绩在80~89,则成绩状况为“较好”; 如果成绩在70~79,则成绩状况为“普通”; 如果成绩在60~69,则成绩状况为“较差”; 如果成绩不大于60,则成绩状况为“差”。,列出学号、姓名、VB成绩和成绩状况,其中成绩状况显示规则为: 如果成绩不不大于等于90,则成绩状况为“好”; 如果成绩在80~89,则成绩状况为“较好”; 如果成绩在70~79,则成绩状况为“普通”; 如果成绩在60~69,则成绩状况为“较差”; 如果成绩不大于60,则成绩状况为“差”。
Select sno,sname,grade
Case
When grade>90 then’好’
When grade between 80 and 89 then’较好’
When grade between70 and 70 then’普通’
When grade between 60 and 69 then’较差’
When grade<60 then’差’
END AS 考试状况
From student s join sc on s.sno=sc.sno
Join course c join sc on o=o
Where sdept=’计算机系’and cname=’VB’
Group by sno
11、如下是一种学生选课系统数据库,涉及三张表,分别为:学生表、课程表、选课表,表构造如下所示:
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成绩。
Select top 1 with ties sname,sdept,grade from
Student s join sc on s.sno=sc.sno
Join course c join sc on o=o
Where cname=’VB’
Order by grade desc
12、如下是一种学生选课系统数据库,涉及三张表,分别为:学生表、课程表、选课表,表构造如下所示:
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语句完毕如下操作。 查询选课门数最多前2位学生,列出学号和选课门数。
Select top 2 sno,count(*)选课门数
From sc
Group by sno
Order by count(*) desc
13、如下是一种学生选课系统数据库,涉及三张表,分别为:学生表、课程表、选课表,表构造如下所示:
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 sno,count(*)选课门数,sum(grade总成绩 from sc
Group by sno
Order by count(*) ase
14、如下是一种学生选课系统数据库中三张表:学生表、课程表、选课表,表构造如下所示:
学生 字段名称 数据类型 长度 备注 学号 char 10 主键 姓名 varchar 50 性别 char 2 取值为“男”或“女” 出生日期 datetime
课程 字段名称 数据类型 长度 备注 课号 char 4 主键 课程名 varchar 100 学分 int 选课 字段名称 数据类型 长度 备注 学号 char 10 主键,引用学生表外键 课号 char 4 主键,引用课程表外键 成绩 int 取值范畴为:0~100
针对以上各表,用SQL语句完毕如下操作。 查询选修了“数据库”课程学生信息,列出学号和姓名。(使用子查询实现)
Select 学号,姓名 from 学生
Where 学号 in(select 学号 from 选课 where 课号in
(select 课号 from 课程 where 课程名=’数据库’))
15、如下是一种学生选课系统数据库中三张表:学生表、课程表、选课表,表构造如下所示:
学生 字段名称 数据类型 长度 备注 学号 char 10 主键 姓名 varchar 50 性别 char 2 取值为“男”或“女” 出生日期 datetime
课程 字段名称 数据类型 长度 备注 课号 char 4 主键 课程名 varchar 100 学分 int 选课 字段名称 数据类型 长度 备注 学号 char 10 主键,引用学生表外键 课号 char 4 主键,引用课程表外键 成绩 int 取值范畴为:0~100
针对以上各表,用SQL语句完毕如下操作。 查询每门课选课人数,显示课号及选课人数。(涉及没有人选课程)
Select 课程.课号,count(学号)as 选课人数
From 课程 left outer join 选课 on 课程.课号=选课.课号
Group by 课程.课号
16、已知商品表、订单表、订单细节表、顾客表构造如下所示:
商品 字段名称 数据类型 长度 备注 商品编号 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 * from商品 Where 商品名称 like ‘%电%’
17、如下是一种学生选课系统数据库中三张表:学生表、课程表、选课表,表构造如下所示:
学生 字段名称 数据类型 长度 备注 学号 char 10 主键 姓名 varchar 50 性别 char 2 取值为“男”或“女” 出生日期 datetime
课程 字段名称 数据类型 长度 备注 课号 char 4 主键 课程名 varchar 100 学分 int 选课 字段名称 数据类型 长度 备注 学号 char 10 主键,引用学生表外键 课号 char 4 主键,引用课程表外键 成绩 int 取值范畴为:0~100 针对以上各表,
用SQL语句完毕如下操作。 查询“数据库”课程选课状况,列出学号、姓名、课程名、学分和成绩。
Select 学号,姓名,课程名,学分,成绩from
学生 join 选课 on 学生.学号=选课.学号
Join 课程 on 课程.课号=选课.课号
Where 课程名=’数据库’
18、'如下是一种学生选课系统数据库中三张表:学生表、课程表、选课表,表构造如下所示:
学生 字段名称 数据类型 长度 备注 学号 char 10 主键 姓名 varchar 50 性别 char 2 取值为“男”或“女” 出生日期 datetime
课程 字段名称 数据类型 长度 备注 课号 char 4 主键 课程名 varchar 100 学分 int 选课 字段名称 数据类型 长度 备注 学号 char 10 主键,引用学生表外键 课号 char 4 主键,引用课程表外键 成绩 int 取值范畴为:0~100
针对以上各表,用SQL语句完毕如下操作。 查询姓“李”学生学号和姓名
Select 学号,姓名 from 学生
Where 姓名 like ‘%李%’
19、如下是一种学生选课系统数据库,涉及三张表,分别为:学生表、课程表、选课表,表构造如下所示:
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语句完毕如下操作。 查询成绩80分以上学生姓名、课程号和成绩,并按成绩降序排列成果。
Select sname,cno,grade from
Student s join sc on s.sno=sc.sno
Where grade>80
Order grade by desc
20、如下是一种学生选课系统数据库,涉及三张表,分别为:学生表、课程表、选课表,表构造如下所示:
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语句完毕如下操作。 修改高等数学考试成绩,修改规则如下:如果是计算机系学生,则加10分;如果是信息管理系学生则加5分;如果是数学系学生则分数不变。
Update sc set grade=grade+
Case sdept
When ‘计算机系’ then 10
When ’信息管理系’ then 5
When ’数学系’ then 0
END
From student s join sc on s.sno=sc.sno
Join course c on o=sc,cno
Where cname=’高等数学’
21、已知商品表、订单表、订单细节表、顾客表构造如下所示:
商品 字段名称 数据类型 长度 备注 商品编号 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语句完毕如下操作。 查询-12-1日订单信息,显示:订单编号、下单日期、顾客姓名。
Select 订单编号,下单日期,顾客姓名 from
顾客 join 订单 on 顾客.顾客编号=订单.顾客编号
Where 下单日期=’-12-1’
22、如下是一种学生选课系统数据库,涉及三张表,分别为:学生表、课程表、选课表,表构造如下所示:
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语句完毕如下操作。 查询平均成绩不不大于80课程课程名和学分。
Select cname,credit ,AVG(grade) from
Course c join sc on o=o
Group by cno
Having AVG(grade)>80
23、如下是一种学生选课系统数据库中三张表:学生表、课程表、选课表,表构造如下所示:
学生 字段名称 数据类型 长度 备注 学号 char 10 主键 姓名 varchar 50 性别 char 2 出生日期 datetime
课程 字段名称 数据类型 长度 备注 课号 char 4 主键 课程名 varchar 100 学分 int 选课 字段名称 数据类型 长度 备注 学号 char 10 主键,引用学生表外键 课号 char 4 主键,引用课程表外键 成绩 int 取值范畴为:0~100
针对以上各表,,用SQL语句完毕如下操作。 删除学号为“01”学生选课信息。
Delete from 选课
Where 学号=’01’
24、已知商品表、订单表、订单细节表、顾客表构造如下所示:
商品 字段名称 数据类型 长度 备注 商品编号 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语句完毕如下操作。 将下列信息插入到商品表中。 商品编号 商品名称 单价 库存数量 10001 电视机 20
insert into 商品 values(‘10001’,‘电视机’,,20)
25、如下是一种学生选课系统数据库中三张表:学生表、课程表、选课表,表构造如下所示:
学生 字段名称 数据类型 长度 备注 学号 char 10 主键 姓名 varchar 50 性别 char 2 取值为“男”或“女” 出生日期 datetime
课程 字段名称 数据类型 长度 备注 课号 char 4 主键 课程名 varchar 100 学分 int 选课 字段名称 数据类型 长度 备注 学号 char 10 主键,引用学生表外键 课号 char 4 主键,引用课程表外键 成绩 int 取值范畴为:0~100
针对以上各表,用SQL语句完毕如下操作。 查询学号为“01”学生考试成绩,成果按成绩降序排列,列出学号、姓名、课程名和成绩
Select 学号,姓名,课程名,成绩 from
学生.学号 join 选课 on 学生.学号=选课.学号
Join 课程.课号 on 课程.课号=选课.课号
Where 学生.学号=’01’
Order by 成绩 desc
26、如下是一种学生选课系统数据库,涉及三张表,分别为:学生表、课程表、选课表,表构造如下所示:
学生 字段名称 数据类型 长度 备注 学号 char 10 主键 姓名 varchar 50 性别 char 2 出生日期 datetime
课程 字段名称 数据类型 长度 备注 课号 char 4 主键 课程名 varchar 100 学分 int 选课 字段名称 数据类型 长度 备注 学号 char 10 主键 课号 char 4 成绩 int 针对以上各表,用SQL语句完毕如下操作。 查询选课人数在3人以上课程平均成绩
Select 课号,AVG(成绩) from 选课
Group by 课号
Having count(课号)>3
27、已知商品表、订单表、订单细节表、顾客表构造如下所示:
商品 字段名称 数据类型 长度 备注 商品编号 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语句完毕如下操作。 查询商品种类数不不大于2订单(即订单细节中不不大于2行订单),列出:订单编号和商品种类数。
Select 订单编号,count(商品编号)as商品种类数 from 订单细节
Group by 订单编号
Having count(*)>2
28、如下是一种学生选课系统数据库中三张表:学生表、课程表、选课
展开阅读全文