7.向供应商表插入一行数据
本题目要求向Vendors
表插入一行数据。
vid:25
vname:李永轩
vaddress:包头市建设路10号
vprovince:内蒙古自治区
Region:NULL
提示:使用中文字符串时在前面加N,能避免出现中文乱码的可能性。
表结构:
CREATE TABLE Vendors
(
vid INT PRIMARY KEY, -- 供应商id
vname NVARCHAR(20) NOT NULL, -- 姓名
vaddress NVARCHAR(30) NOT NULL, -- 地址
vprovince NVARCHAR(25) NOT NULL, -- 所在省份
vregion NVARCHAR(25) NULL -- 区域
);
表样例
Vendors
表:
vid | vname | vaddress | vprovince | vregion |
---|---|---|---|---|
1 | 欧阳宇文 | 广州市海珠南路126号 | 广东省 | 华南区 |
2 | 邓云钊 | 佛山市南桂西路25号 | 广东省 | 华南区 |
3 | 张文正 | 北京市朝阳北路23号 | 北京市 | 华北区 |
4 | 欧晓文 | 成都市大悦路518号 | 四川省 | 华西区 |
插入记录后样例:
vid | vname | vaddress | vprovince | vregion |
---|---|---|---|---|
1 | 欧阳宇文 | 广州市海珠南路126号 | 广东省 | 华南区 |
2 | 邓云钊 | 佛山市南桂西路25号 | 广东省 | 华南区 |
3 | 张文正 | 北京市朝阳北路23号 | 北京市 | 华北区 |
4 | 欧晓文 | 成都市大悦路518号 | 四川省 | 华西区 |
25 | 李永轩 | 包头市建设路10号 | 内蒙古自治区 | NULL |
insert into Vendors (vid,vname,vaddress,vprovince,vregion)
values('25',N'李永轩',N'包头市建设路10号',N'内蒙古自治区',NULL);
8.把表中区域未知的vregion值更新为“未知”
本题目要求更新Vendors
表,把区域未知的vregion值更新为“未知”。
提示:使用中文字符串时在前面加N,能避免出现中文乱码的可能性。
表结构:
CREATE TABLE Vendors
(
vid INT PRIMARY KEY, -- 供应商id
vname NVARCHAR(20) NOT NULL, -- 姓名
vaddress NVARCHAR(30) NOT NULL, -- 地址
vprovince NVARCHAR(25) NOT NULL, -- 所在省份
vregion NVARCHAR(25) NULL -- 区域
);
表样例
Vendors
表:
vid | vname | vaddress | vprovince | vregion |
---|---|---|---|---|
1 | 欧阳宇文 | 广州市海珠南路126号 | 广东省 | 华南区 |
2 | 邓云钊 | 佛山市南桂西路25号 | 广东省 | 华南区 |
3 | 张文正 | 北京市朝阳北路23号 | 北京市 | 华北区 |
4 | 欧晓文 | 成都市大悦路518号 | 四川省 | 华西区 |
25 | 李永轩 | 包头市建设路10号 | 内蒙古自治区 | NULL |
更新记录后样例:
vid | vname | vaddress | vprovince | vregion |
---|---|---|---|---|
1 | 欧阳宇文 | 广州市海珠南路126号 | 广东省 | 华南区 |
2 | 邓云钊 | 佛山市南桂西路25号 | 广东省 | 华南区 |
3 | 张文正 | 北京市朝阳北路23号 | 北京市 | 华北区 |
4 | 欧晓文 | 成都市大悦路518号 | 四川省 | 华西区 |
25 | 李永轩 | 包头市建设路10号 | 内蒙古自治区 | 未知 |
UPDATE Vendors
SET vregion = N'未知'
WHERE vregion IS NULL;
9.删除表中区域未知的供应商记录
本题目要求删除Vendors
表区域未知的供应商记录。
提示:使用中文字符串时在前面加N,能避免出现中文乱码的可能性。
表结构:
CREATE TABLE Vendors
(
vid INT PRIMARY KEY, -- 供应商id
vname NVARCHAR(20) NOT NULL, -- 姓名
vaddress NVARCHAR(30) NOT NULL, -- 地址
vprovince NVARCHAR(25) NOT NULL, -- 所在省份
vregion NVARCHAR(25) NULL -- 区域
);
表样例
Vendors
表:
vid | vname | vaddress | vprovince | vregion |
---|---|---|---|---|
1 | 欧阳宇文 | 广州市海珠南路126号 | 广东省 | 华南区 |
2 | 邓云钊 | 佛山市南桂西路25号 | 广东省 | 华南区 |
3 | 张文正 | 北京市朝阳北路23号 | 北京市 | 华北区 |
4 | 欧晓文 | 成都市大悦路518号 | 四川省 | 华西区 |
25 | 李永轩 | 包头市建设路10号 | 内蒙古自治区 | 未知 |
删除记录后样例:
vid | vname | vaddress | vprovince | vregion |
---|---|---|---|---|
1 | 欧阳宇文 | 广州市海珠南路126号 | 广东省 | 华南区 |
2 | 邓云钊 | 佛山市南桂西路25号 | 广东省 | 华南区 |
3 | 张文正 | 北京市朝阳北路23号 | 北京市 | 华北区 |
4 | 欧晓文 | 成都市大悦路518号 | 四川省 | 华西区 |
DELETE FROM Vendors
WHERE vregion = N'未知';
10.建立视图显示出广东省供应商的信息
本题目要求建立Vendors
表的视图GD_Vendors,该视图显示出广东省供应商的信息。
提示:使用中文字符串时在前面加N,能避免出现中文乱码的可能性。
表结构:
CREATE TABLE Vendors
(
vid INT PRIMARY KEY, -- 供应商id
vname NVARCHAR(20) NOT NULL, -- 姓名
vaddress NVARCHAR(30) NOT NULL, -- 地址
vprovince NVARCHAR(25) NOT NULL, -- 所在省份
vregion NVARCHAR(25) NULL -- 区域
);
表样例
Vendors
表:
vid | vname | vaddress | vprovince | vregion |
---|---|---|---|---|
1 | 欧阳宇文 | 广州市海珠南路126号 | 广东省 | 华南区 |
2 | 邓云钊 | 佛山市南桂西路25号 | 广东省 | 华南区 |
3 | 张文正 | 北京市朝阳北路23号 | 北京市 | 华北区 |
4 | 欧晓文 | 成都市大悦路518号 | 四川省 | 华西区 |
视图样例:
vid | vname | vaddress | vprovince | vregion |
---|---|---|---|---|
1 | 欧阳宇文 | 广州市海珠南路126号 | 广东省 | 华南区 |
2 | 邓云钊 | 佛山市南桂西路25号 | 广东省 | 华南区 |
CREATE VIEW GD_Vendors AS
SELECT vid,vname,vaddress,vprovince,vregion
FROM Vendors
WHERE vprovince = N'广东省';
11.查询从未签约的供应商
本题目要求根据Vendors
表和Projects
表,返回从未签约的供应商。
提示:使用中文字符串时在前面加N,能避免出现中文乱码的可能性。
表结构:
CREATE TABLE Vendors
(
vid INT PRIMARY KEY, -- 供应商id
vname NVARCHAR(20) NOT NULL, -- 姓名
vaddress NVARCHAR(30) NOT NULL, -- 地址
vprovince NVARCHAR(25) NOT NULL -- 所在省份
);
CREATE TABLE Projects
(
pid INT PRIMARY KEY, -- 项目id
vid INT NULL, -- 供应商id
sid INT NOT NULL, -- 销售人员id
contractdate DATETIME NOT NULL -- 签约日期
);
表样例
Vendors
表:
vid | vname | vaddress | vprovince |
---|---|---|---|
1 | 欧阳宇文 | 广州市海珠南路126号 | 广东省 |
2 | 邓云钊 | 佛山市南桂西路25号 | 广东省 |
3 | 张文正 | 北京市朝阳北路23号 | 北京市 |
4 | 欧晓文 | 成都市大悦路518号 | 四川省 |
5 | 周琦 | 佛山市祖庙路2号 | 广东省 |
Projects
表:
pid | vid | sid | contractdate |
---|---|---|---|
10523 | 3 | 7 | 2022/05/01 00:00:00.000 |
10524 | 3 | 1 | 2022/05/01 00:00:00.000 |
10525 | 2 | 1 | 2022/05/02 00:00:00.000 |
10555 | 1 | 6 | 2022/06/02 00:00:00.000 |
10556 | 4 | 2 | 2022/06/03 00:00:00.000 |
10557 | 3 | 9 | 2022/06/03 00:00:00.000 |
输出样例:
vid | vname |
---|---|
5 | 周琦 |
select v.vid,v.vname
from Vendors v
left join projects p on v.vid = p.vid
where pid is null;
12.显示没有班主任的班级的所有信息
本题目要求编写SQL语句,查询显示没有班主任的班级的所有信息。
现有教务管理系统的关系描述如下:
- 每个院系(部门)有多个班级和多名教师,每名教师各自开设有多门课程。
- 每位教师管理多个班级(班主任),每个班级只能被一位老师管理。
- 每名学生属于一个班级,可以选修多门课程。
- 每门课程可被多位老师讲授,并且有些课程具有先导课程,每门课程的成绩由平时成绩、期中成绩、期末成绩组成,最终计算总评成绩。
- 课程信息表供教师和学生查询,包含课程信息、任课教师、上课班级、上课教室、上课日期(周几)、上课时间(第几节课)、上课学期学年等信息。
1.班级表:grade
表结构
表数据
样例输出:
select * from grade
where Tid is null;
13.显示姓名中有"白云"的同学的所有信息
本题目要求编写SQL语句,查询显示姓名中有"白云"的同学的所有信息。
现有教务管理系统的关系描述如下:
- 每个院系(部门)有多个班级和多名教师,每名教师各自开设有多门课程。
- 每位教师管理多个班级(班主任),每个班级只能被一位老师管理。
- 每名学生属于一个班级,可以选修多门课程。
- 每门课程可被多位老师讲授,并且有些课程具有先导课程,每门课程的成绩由平时成绩、期中成绩、期末成绩组成,最终计算总评成绩。
- 课程信息表供教师和学生查询,包含课程信息、任课教师、上课班级、上课教室、上课日期(周几)、上课时间(第几节课)、上课学期学年等信息。
1.学生表:student
表结构
表数据
样例输出:
select * from student
where SName like '%白云%';
14.显示姓李的老师的所有信息
本题目要求编写SQL语句,查询显示姓李的老师的所有信息。
现有教务管理系统的关系描述如下:
- 每个院系(部门)有多个班级和多名教师,每名教师各自开设有多门课程。
- 每位教师管理多个班级(班主任),每个班级只能被一位老师管理。
- 每名学生属于一个班级,可以选修多门课程。
- 每门课程可被多位老师讲授,并且有些课程具有先导课程,每门课程的成绩由平时成绩、期中成绩、期末成绩组成,最终计算总评成绩。
- 课程信息表供教师和学生查询,包含课程信息、任课教师、上课班级、上课教室、上课日期(周几)、上课时间(第几节课)、上课学期学年等信息。
1.教师表:teacher
表结构
表数据
===>样例输出:
select * from teacher
where TName like '李%';
15.显示期末成绩不及格的同学的学号、课程号与期末成绩
本题目要求编写SQL语句,查询显示期末成绩不及格的同学的学号、课程号与期末成绩。
现有教务管理系统的关系描述如下:
- 每个院系(部门)有多个班级和多名教师,每名教师各自开设有多门课程。
- 每位教师管理多个班级(班主任),每个班级只能被一位老师管理。
- 每名学生属于一个班级,可以选修多门课程。
- 每门课程可被多位老师讲授,并且有些课程具有先导课程,每门课程的成绩由平时成绩、期中成绩、期末成绩组成,最终计算总评成绩。
- 课程信息表供教师和学生查询,包含课程信息、任课教师、上课班级、上课教室、上课日期(周几)、上课时间(第几节课)、上课学期学年等信息。
1.选课表:sc
表结构
表数据
===>样例输出:
select SId,CId,SCScore3 from sc
where SCScore3 < 60;
16.理学院(CS)新开一门课程“数学建模”,课程编号20, 学分4,学时72,选修课程,最多选课人数为50
本题目要求编写SQL语句,理学院(CS)新开一门课程“数学建模”,无先行课,课程编号20, 学分4,学时72,选修课程,最多选课人数为50。
现有教务管理系统的关系描述如下:
- 每个院系(部门)有多个班级和多名教师,每名教师各自开设有多门课程。
- 每位教师管理多个班级(班主任),每个班级只能被一位老师管理。
- 每名学生属于一个班级,可以选修多门课程。
- 每门课程可被多位老师讲授,并且有些课程具有先导课程,每门课程的成绩由平时成绩、期中成绩、期末成绩组成,最终计算总评成绩。
- 课程信息表供教师和学生查询,包含课程信息、任课教师、上课班级、上课教室、上课日期(周几)、上课时间(第几节课)、上课学期学年等信息。
1.课程表:course
表结构
表数据
insert into course
values ('20',null,'CS','数学建模','4','72','选修','50');
17.将课程"数据库"(课程编号:1)的上课教室改为NB111,授课教师改为李飞(教师编号:02001)
本题目要求编写SQL语句,将课程"数据库"(课程编号:1)的上课教室改为NB111,授课教师改为李飞(教师编号:02001)。
现有教务管理系统的关系描述如下:
- 每个院系(部门)有多个班级和多名教师,每名教师各自开设有多门课程。
- 每位教师管理多个班级(班主任),每个班级只能被一位老师管理。
- 每名学生属于一个班级,可以选修多门课程。
- 每门课程可被多位老师讲授,并且有些课程具有先导课程,每门课程的成绩由平时成绩、期中成绩、期末成绩组成,最终计算总评成绩。
- 课程信息表供教师和学生查询,包含课程信息、任课教师、上课班级、上课教室、上课日期(周几)、上课时间(第几节课)、上课学期学年等信息。
1.课程信息表information
表数据
update information
set IRoom = 'NB111', TId = '02001'
where CId = '1';
18.向Product数据表插入数据
要求在数据表Product
中插入数据
表结构:
CREATE TABLE Product
(product_id CHAR(4) NOT NULL, --商品编号
product_name VARCHAR(100) NOT NULL, --商品名称
product_type VARCHAR(32) NOT NULL, --商品种类
sale_price INTEGER , --销售价格
purchase_price INTEGER , --进货价格
regist_date DATE , --登记日期
PRIMARY KEY (product_id));
插入数据前Product
表:
插入数据后Product
表:
insert into Product
values('0003','高压锅','厨房用具','269','150','2019-01-15');
19.修改Product数据表销售价格数据
要求编写SQL语句, 将Product
表中登记日期为NULL的商品对应的销售价格修改为180。
表结构:
CREATE TABLE Product
(product_id CHAR(4) NOT NULL, --商品编号
product_name VARCHAR(100) NOT NULL, --商品名称
product_type VARCHAR(32) NOT NULL, --商品种类
sale_price INTEGER , --销售价格
purchase_price INTEGER , --进货价格
regist_date DATE , --登记日期
PRIMARY KEY (product_id));
修改前查询结果:
Product
表
修改后查询结果:
Product
表
update Product
set sale_price = '180'
where regist_date is null;
20.删除Product数据表指定商品记录
要求编写SQL语句, 删除Product
表中销售价格大于等于100的商品信息。
表结构:
CREATE TABLE Product
(product_id CHAR(4) NOT NULL, --商品编号
product_name VARCHAR(100) NOT NULL, --商品名称
product_type VARCHAR(32) NOT NULL, --商品种类
sale_price INTEGER , --销售价格
purchase_price INTEGER , --进货价格
regist_date DATE , --登记日期
PRIMARY KEY (product_id));
删除前查询结果:
Product
表
删除后查询结果:
Product
表
delete from Product
where sale_price >= 100;
21.计算Product表中销售价格的最大值和进货价格的最小值
要求编写SQL语句,查询Product
表中销售价格的最大值和进货价格的最小值。
表结构:
CREATE TABLE Product
(product_id CHAR(4) NOT NULL, --商品编号
product_name VARCHAR(100) NOT NULL, --商品名称
product_type VARCHAR(32) NOT NULL, --商品种类
sale_price INTEGER , --销售价格
purchase_price INTEGER , --进货价格
regist_date DATE , --登记日期
PRIMARY KEY (product_id));
表样例:
Product
表
输出样例:
Product
表
select max(sale_price) top_sale,min(purchase_price) bottom_pur
from Product;
22.计算Product表中销售价格和进货价格的合计值
要求编写SQL语句,查询Product
表中销售价格和进货价格的合计值。
表结构:
CREATE TABLE Product
(product_id CHAR(4) NOT NULL, --商品编号
product_name VARCHAR(100) NOT NULL, --商品名称
product_type VARCHAR(32) NOT NULL, --商品种类
sale_price INTEGER , --销售价格
purchase_price INTEGER , --进货价格
regist_date DATE , --登记日期
PRIMARY KEY (product_id));
表样例
Product
表
输出样例:
Product
表
select sum(sale_price) all_sale,sum(purchase_price) all_pur
from Product;
23.查询Product表中进货价格在50至150之间的商品记录
要求编写SQL语句,查询Product
表中进货价格在50至150之间的商品记录。注意:查询结果中应包含50和150元的商品记录。
表结构:
CREATE TABLE Product
(product_id CHAR(4) NOT NULL, --商品编号
product_name VARCHAR(100) NOT NULL, --商品名称
product_type VARCHAR(32) NOT NULL, --商品种类
sale_price INTEGER , --销售价格
purchase_price INTEGER , --进货价格
regist_date DATE , --登记日期
PRIMARY KEY (product_id));
表样例
Product
表
输出样例:
Product
表
select * from Product
where purchase_price >=50 and purchase_price <=150;
24.统计Product表中每个商品种类对应的最高销售价格,查询出其中最高销售价格大于100的商品信息
要求编写SQL语句,统计Product
表中每个商品种类对应的最高销售价格,查询出其中最高销售价格大于100的商品信息,要求显示结果中包含符合条件的商品种类及对应的最高销售单价。
表结构:
CREATE TABLE Product
(product_id CHAR(4) NOT NULL, --商品编号
product_name VARCHAR(100) NOT NULL, --商品名称
product_type VARCHAR(32) NOT NULL, --商品种类
sale_price INTEGER , --销售价格
purchase_price INTEGER , --进货价格
regist_date DATE , --登记日期
PRIMARY KEY (product_id));
表样例:
Product
表
输出样例:
Product
表
SELECT product_type,max(sale_price) top_price
FROM Product
GROUP BY product_type
HAVING max(sale_price) > 100;
25.创建视图,包含Product表中部分商品打折前后的价格信息
本题目要求编写SQL语句, 利用Product
表创建视图view_goods
,包含原售价大于100元的商品在打折前后的价格信息。视图中包含四列,分别为商品id,商品名称,商品原价格(old_price) 和商品打五折后的价格(new_price)。
表结构:
CREATE TABLE Product
(product_id CHAR(4) NOT NULL, --商品编号
product_name VARCHAR(100) NOT NULL, --商品名称
product_type VARCHAR(32) NOT NULL, --商品种类
sale_price INTEGER , --销售价格
purchase_price INTEGER , --进货价格
regist_date DATE , --登记日期
PRIMARY KEY (product_id));
表样例:
Product
表
视图样例:
view_goods
视图
create view view_goods as
select product_id as id,product_name as name,sale_price as old_price,sale_price*0.5 as new_price
from Product
where sale_price >100;
26.查询不在编号000C商店销售的商品记录
本题目要求编写SQL语句, 基于Product
表和ShopProduct
表查询不在编号000C商店销售的商品对应的商品编号、商品名称、销售价格。
表结构:
Product
表
CREATE TABLE Product
(product_id CHAR(4) NOT NULL, --商品编号
product_name VARCHAR(100) NOT NULL, --商品名称
product_type VARCHAR(32) NOT NULL, --商品种类
sale_price INTEGER , --销售价格
purchase_price INTEGER , --进货价格
regist_date DATE , --登记日期
PRIMARY KEY (product_id));
ShopProduct
表
CREATE TABLE ShopProduct
(shop_id CHAR(4) NOT NULL, -- 商店编号
shop_name VARCHAR(200) NOT NULL, -- 商店名称
product_id CHAR(4) NOT NULL, -- 商品编号
quantity INTEGER NOT NULL, -- 商品库存
PRIMARY KEY (shop_id, product_id));
表样例
Product
表
ShopProduct
表
输出样例:
SELECT Product.product_id, Product.product_name, Product.sale_price
FROM Product
LEFT JOIN ShopProduct ON Product.product_id = ShopProduct.product_id AND ShopProduct.shop_id = '000C'
WHERE ShopProduct.product_id IS NULL;
27.显示年龄在18岁以下的学生的全部信息
本题目要求编写SQL语句,查询显示年龄在18岁以下的学生的全部信息。
现有教务管理系统的关系描述如下:
- 每个院系(部门)有多个班级和多名教师,每名教师各自开设有多门课程。
- 每位教师管理多个班级(班主任),每个班级只能被一位老师管理。
- 每名学生属于一个班级,可以选修多门课程。
- 每门课程可被多位老师讲授,并且有些课程具有先导课程,每门课程的成绩由平时成绩、期中成绩、期末成绩组成,最终计算总评成绩。
- 课程信息表供教师和学生查询,包含课程信息、任课教师、上课班级、上课教室、上课日期(周几)、上课时间(第几节课)、上课学期学年等信息。
1.学生表:student
表结构
表数据
===>样例输出:
select SId,GId,SName,SSexy,SBdate,STele
from student
where year(now()) - year(SBdate) <18;
28.显示张飞同学已修课程的课程号,课程名及期末成绩
本题目要求编写SQL语句,查询显示张飞同学已修课程的课程号,课程名及期末成绩。
现有教务管理系统的关系描述如下:
- 每个院系(部门)有多个班级和多名教师,每名教师各自开设有多门课程。
- 每位教师管理多个班级(班主任),每个班级只能被一位老师管理。
- 每名学生属于一个班级,可以选修多门课程。
- 每门课程可被多位老师讲授,并且有些课程具有先导课程,每门课程的成绩由平时成绩、期中成绩、期末成绩组成,最终计算总评成绩。
- 课程信息表供教师和学生查询,包含课程信息、任课教师、上课班级、上课教室、上课日期(周几)、上课时间(第几节课)、上课学期学年等信息。
1.学生表:student
表结构
表数据
2.课程表:course
表结构
表数据
3.选课表:sc
表结构
表数据
4.班级表:grade
表结构
表数据
5.院系(部门)表:dept
表结构
表数据
6.教师表:teacher
表结构
表数据
7.课程信息表:information
表结构
表数据
===>样例输出:
select course.CId,course.CName,sc.SCScore3
from student,sc,course
where student.SName = '张飞'
AND student.SId = sc.SId AND sc.CId = course.CId;
29.统计每个班级期末成绩的最高分(Max),显示班级名称、期末最高成绩
本题目要求编写SQL语句,查询统计每个班级期末成绩的最高分(Max),显示班级名称、期末最高成绩。
现有教务管理系统的关系描述如下:
- 每个院系(部门)有多个班级和多名教师,每名教师各自开设有多门课程。
- 每位教师管理多个班级(班主任),每个班级只能被一位老师管理。
- 每名学生属于一个班级,可以选修多门课程。
- 每门课程可被多位老师讲授,并且有些课程具有先导课程,每门课程的成绩由平时成绩、期中成绩、期末成绩组成,最终计算总评成绩。
- 课程信息表供教师和学生查询,包含课程信息、任课教师、上课班级、上课教室、上课日期(周几)、上课时间(第几节课)、上课学期学年等信息。
1.学生表:student
表结构
表数据
2.课程表:course
表结构
表数据
3.选课表:sc
表结构
表数据
4.班级表:grade
表结构
表数据
5.院系(部门)表:dept
表结构
表数据
6.教师表:teacher
表结构
表数据
7.课程信息表:information
表结构
表数据
===>样例输出:
SELECT grade.GName, max(sc.SCScore3) Max
FROM sc,
grade,
student
WHERE student.SId = sc.SId
AND student.GId = grade.GId
GROUP BY grade.GName;
30.显示一周8节课及以上的学生的名单,显示学号、姓名、班级名称
本题目要求编写SQL语句,查询显示一周8节课及以上的学生的名单,显示学号、姓名、班级名称。
现有教务管理系统的关系描述如下:
- 每个院系(部门)有多个班级和多名教师,每名教师各自开设有多门课程。
- 每位教师管理多个班级(班主任),每个班级只能被一位老师管理。
- 每名学生属于一个班级,可以选修多门课程。
- 每门课程可被多位老师讲授,并且有些课程具有先导课程,每门课程的成绩由平时成绩、期中成绩、期末成绩组成,最终计算总评成绩。
- 课程信息表供教师和学生查询,包含课程信息、任课教师、上课班级、上课教室、上课日期(周几)、上课时间(第几节课)、上课学期学年等信息。
1.学生表:student
表结构
表数据
2.课程表:course
表结构
表数据
3.选课表:sc
表结构
表数据
4.班级表:grade
表结构
表数据
5.院系(部门)表:dept
表结构
表数据
6.教师表:teacher
表结构
表数据
7.课程信息表:information
表结构
表数据
===>样例输出:
select student.SId,student.SName,grade.GName
from student,grade,information
where student.GId = grade.GId
and student.GId = information.GId
group by student.SId,student.SName,grade.GName
having sum(length(information.ITimeseg)) > 8;
31.统计教授每周上课的课时数(Hours),显示姓名、课时数
本题目要求编写SQL语句,查询统计教授每周上课的课时数(Hours),显示姓名、课时数。
现有教务管理系统的关系描述如下:
- 每个院系(部门)有多个班级和多名教师,每名教师各自开设有多门课程。
- 每位教师管理多个班级(班主任),每个班级只能被一位老师管理。
- 每名学生属于一个班级,可以选修多门课程。
- 每门课程可被多位老师讲授,并且有些课程具有先导课程,每门课程的成绩由平时成绩、期中成绩、期末成绩组成,最终计算总评成绩。
- 课程信息表供教师和学生查询,包含课程信息、任课教师、上课班级、上课教室、上课日期(周几)、上课时间(第几节课)、上课学期学年等信息。
1.学生表:student
表结构
表数据
2.课程表:course
表结构
表数据
3.选课表:sc
表结构
表数据
4.班级表:grade
表结构
表数据
5.院系(部门)表:dept
表结构
表数据
6.教师表:teacher
表结构
表数据
7.课程信息表:information
表结构
表数据
===>样例输出:
select teacher.TName,SUM(LENGTH(information.ITimeseg)) AS Hours
from teacher,information
where teacher.TProf = '教授'
and teacher.TId = information.TId
group by teacher.TName;
32.将李飞同学的联系方式改为661010
本题目要求编写SQL语句,将李飞同学的联系方式改为661010。
现有教务管理系统的关系描述如下:
- 每个院系(部门)有多个班级和多名教师,每名教师各自开设有多门课程。
- 每位教师管理多个班级(班主任),每个班级只能被一位老师管理。
- 每名学生属于一个班级,可以选修多门课程。
- 每门课程可被多位老师讲授,并且有些课程具有先导课程,每门课程的成绩由平时成绩、期中成绩、期末成绩组成,最终计算总评成绩。
- 课程信息表供教师和学生查询,包含课程信息、任课教师、上课班级、上课教室、上课日期(周几)、上课时间(第几节课)、上课学期学年等信息。
1.学生表:student
表结构
表数据
update student
set STele = '661010'
where SName = '李飞';
33.查询“14计科1”班的学生所学的课程名称和平均成绩
本题目要求编写SQL语句,
检索出students
表、sc
表和course
表中,“14计科1”班的学生所学的课程名称和平均成绩,注意:列名用中文表示。
提示:请使用join连接查询语句作答。
表结构:
请在这里写定义表结构的SQL语句。例如:
CREATE TABLE students (
sno char(7) ,
sname char(8) NOT NULL,
class char(10),
ssex char(2),
bday date ,
bplace char(10) ,
IDNum char(18) ,
sdept char(16),
phone char(11),
PRIMARY KEY (sno)
) ;
CREATE TABLE sc (
sno char(7) ,
cno char(7) ,
score decimal(4,1),
point decimal(2,1),
PRIMARY KEY (sno,cno)
) ;
CREATE TABLE course (
cno char(7) ,
cname varchar(20) NOT NULL,
cpno char(7),
ccredit int NOT NULL,
PRIMARY KEY (cno)
) ;
表样例
请在这里给出上述表结构对应的表样例。例如
students
表:
sno | sname | class | ssex | bday | bplace | IDNum | sdept | phone |
---|---|---|---|---|---|---|---|---|
1401102 | 陈晓东 | 14计科1 | 男 | 1996-03-21 | 浙江杭州 | 330203199603210034 | 信息学院 | 15911113355 |
1311105 | 苏有明 | 13英语1 | 男 | 1995-04-16 | 内蒙古包头 | 330204199504162036 | 人文学院 | 15900002222 |
1711101 | 赵薇 | 17物流1 | 女 | 1999-02-11 | 安徽合肥 | 330203199902110925 | 经管学院 | 15900001177 |
1711102 | 董洁 | 17物流1 | 女 | 1999-02-17 | 上海 | 330203199902170017 | 经管学院 | 15900001188 |
sc
表:
sno | cno | score | point |
---|---|---|---|
1311104 | 0000011 | 53.0 | 0.0 |
1401102 | 0000010 | 67.0 | 1.0 |
1311105 | 0000027 | 84.0 | 1.0 |
1711101 | 0000052 | 71.0 | 2.0 |
course
表:
cno | cname | cpno | ccredit |
---|---|---|---|
0000001 | 数据库OCP考证 | NULL | 4 |
0000002 | C语言基础 | 0000027 | 9 |
0000003 | Linux操作系统 | 0000013 | 5 |
0000010 | 数据结构 | 0000002 | 4 |
0000034 | 高等数学 | NULL | 6 |
输出样例:
请在这里给出输出样例。例如:
课程名称 | 平均成绩 |
---|---|
数据结构 | 67.00000 |
SELECT course.cname AS 课程名称, AVG(sc.score) AS 平均成绩
FROM students
JOIN sc ON students.sno = sc.sno
JOIN course ON sc.cno = course.cno
WHERE students.class = '14计科1'
GROUP BY course.cname;
34.查询课程成绩及格的男同学的学生姓名、课程号与成绩
本题目要求编写SQL语句,
检索出students
表和sc
表中课程成绩及格的男同学的学生姓名、课程号与成绩。
提示:请使用join连接作答。
表结构:
请在这里写定义表结构的SQL语句。例如:
CREATE TABLE students (
sno char(7) ,
sname char(8) NOT NULL,
class char(10),
ssex char(2),
bday date ,
bplace char(10) ,
IDNum char(18) ,
sdept char(16),
phone char(11),
PRIMARY KEY (sno)
) ;
CREATE TABLE sc (
sno char(7) ,
cno char(7) ,
score decimal(4,1),
point decimal(2,1),
PRIMARY KEY (sno,cno)
) ;
表样例
请在这里给出上述表结构对应的表样例。例如
students
表:
sno | sname | class | ssex | bday | bplace | IDNum | sdept | phone |
---|---|---|---|---|---|---|---|---|
1401102 | 陈晓东 | 14计科1 | 男 | 1996-03-21 | 浙江杭州 | 330203199603210034 | 信息学院 | 15911113355 |
1311105 | 苏有明 | 13英语1 | 男 | 1995-04-16 | 内蒙古包头 | 330204199504162036 | 人文学院 | 15900002222 |
1711101 | 赵薇 | 17物流1 | 女 | 1999-02-11 | 安徽合肥 | 330203199902110925 | 经管学院 | 15900001177 |
1711102 | 董洁 | 17物流1 | 女 | 1999-02-17 | 上海 | 330203199902170017 | 经管学院 | 15900001188 |
sc
表:
sno | cno | score | point |
---|---|---|---|
1311105 | 0000011 | 53.0 | 0.0 |
1311105 | 0000027 | 80.0 | 1.0 |
1311105 | 0000027 | 84.0 | 1.0 |
1711101 | 0000052 | 81.0 | 2.0 |
输出样例:
请在这里给出输出样例。例如:
sname | cno | score |
---|---|---|
苏有明 | 0000027 | 80.0 |
SELECT students.sname, sc.cno, sc.score
FROM students
INNER JOIN sc ON students.sno = sc.sno
WHERE sc.score >= 60 AND students.ssex = '男'
35. 查询选修课程名为“高等数学”的学生学号、姓名和成绩
本题目要求编写SQL语句,
查询选修课程名为“高等数学”的学生学号、姓名和成绩。
提示:请使用join连接查询语句作答。
表结构:
请在这里写定义表结构的SQL语句。例如:
CREATE TABLE students (
sno char(7) ,
sname char(8) NOT NULL,
class char(10),
ssex char(2),
bday date ,
bplace char(10) ,
IDNum char(18) ,
sdept char(16),
phone char(11),
PRIMARY KEY (sno)
) ;
CREATE TABLE sc (
sno char(7) ,
cno char(7) ,
score decimal(4,1),
point decimal(2,1),
PRIMARY KEY (sno,cno)
) ;
CREATE TABLE course (
cno char(7) ,
cname varchar(20) NOT NULL,
cpno char(7),
ccredit int NOT NULL,
PRIMARY KEY (cno)
) ;
表样例
请在这里给出上述表结构对应的表样例。例如
students
表:
sno | sname | class | ssex | bday | bplace | IDNum | sdept | phone |
---|---|---|---|---|---|---|---|---|
1401102 | 陈晓东 | 14计科1 | 男 | 1996-03-21 | 浙江杭州 | 330203199603210034 | 信息学院 | 15911113355 |
1411201 | 王祖贤 | 14物流2 | 女 | 1995-07-25 | 西藏拉萨 | 330204199507253015 | 经管学院 | 15900002244 |
1711101 | 赵薇 | 17物流1 | 女 | 1999-02-11 | 安徽合肥 | 330203199902110925 | 经管学院 | 15900001177 |
1711102 | 董洁 | 17物流1 | 女 | 1999-02-17 | 上海 | 330203199902170017 | 经管学院 | 15900001188 |
sc
表:
sno | cno | score | point |
---|---|---|---|
1311104 | 0000011 | 53.0 | 0.0 |
1401102 | 0000010 | 67.0 | 1.0 |
1411201 | 0000034 | 75.6 | 1.5 |
1711101 | 0000052 | 71.0 | 2.0 |
course
表:
cno | came | cpno | ccredit |
---|---|---|---|
0000001 | 数据库OCP考证 | NULL | 4 |
0000002 | C语言基础 | 0000027 | 9 |
0000003 | Linux操作系统 | 0000013 | 5 |
0000010 | 数据结构 | 0000002 | 4 |
0000034 | 高等数学 | NULL | 6 |
输出样例:
请在这里给出输出样例。例如:
sno | sname | score |
---|---|---|
1411201 | 王祖贤 | 75.6 |
SELECT students.sno,students.sname,sc.score
FROM students
INNER JOIN sc ON students.sno = sc.sno
INNER JOIN course ON sc.cno = course.cno
WHERE course.cname = '高等数学'
36.查询选修课名中含有“电子”两个字的课程且成绩在60分以下的学生学号及成绩
本题目要求编写SQL语句,
检索出sc
表、course
表中选修课名中含有“电子”两个字的课程且成绩在60分以下的学生学号及成绩。
提示:请使用嵌套查询语句作答。
表结构:
请在这里写定义表结构的SQL语句。例如:
CREATE TABLE course (
cno char(7) ,
cname varchar(20) NOT NULL,
cpno char(7),
ccredit int NOT NULL,
PRIMARY KEY (cno)
) ;
CREATE TABLE sc (
sno char(7) ,
cno char(7) ,
score decimal(4,1),
point decimal(2,1),
PRIMARY KEY (sno,cno)
) ;
表样例
请在这里给出上述表结构对应的表样例。例如
course
表:
cno | cname | cpno | ccredit |
---|---|---|---|
0000002 | C语言基础 | 0000027 | 9 |
0000003 | Linux操作系统 | 0000013 | 5 |
0000004 | C#程序设计 | 0000002 | 6 |
0000008 | 电子商务 | 000027 | 4 |
sc
表:
sno | cno | score | point |
---|---|---|---|
1311104 | 0000011 | 53.0 | 0.0 |
1311104 | 0000027 | 80.0 | 1.0 |
1311105 | 0000027 | 84.0 | 1.0 |
1711101 | 0000008 | 51.0 | 0.0 |
输出样例:
请在这里给出输出样例。例如:
sno | score |
---|---|
1711101 | 51.0 |
SELECT sno, score
FROM sc
WHERE score < 60 AND cno IN (
SELECT cno
FROM course
WHERE cname LIKE '%电子%'
)
37.查询选修“0000011”课程的学生的班级及对应人数
本题目要求编写SQL语句,
检索出students
表和sc
表中,选修“0000011”课程的学生的班级及对应人数,列名请用中文显示。
提示:请使用嵌套查询语句作答。
表结构:
请在这里写定义表结构的SQL语句。例如:
CREATE TABLE students (
sno char(7) ,
sname char(8) NOT NULL,
class char(10),
ssex char(2),
bday date ,
bplace char(10) ,
IDNum char(18) ,
sdept char(16),
phone char(11),
PRIMARY KEY (sno)
) ;
CREATE TABLE sc (
sno char(7) ,
cno char(7) ,
score decimal(4,1),
point decimal(2,1),
PRIMARY KEY (sno,cno)
) ;
表样例
请在这里给出上述表结构对应的表样例。例如
students
表:
sno | sname | class | ssex | bday | bplace | IDNum | sdept | phone |
---|---|---|---|---|---|---|---|---|
1401102 | 陈晓东 | 14计科1 | 男 | 1996-03-21 | 浙江杭州 | 330203199603210034 | 信息学院 | 15911113355 |
1811104 | 李嘉欣 | 18英语1 | 女 | 1994-05-28 | 山西太原 | 330204199405281056 | 信息学院 | 15900002211 |
1811105 | 苏有明 | 18英语1 | 男 | 1995-04-16 | 内蒙古包头 | 330204199504162036 | 人文学院 | 15900002222 |
1911101 | 赵薇 | 19信管2 | 女 | 2000-02-11 | 安徽合肥 | 330203199902110925 | 经管学院 | 15900001177 |
1911102 | 董洁 | 19信管2 | 女 | 2000-02-17 | 上海 | 330203199902170017 | 经管学院 | 15900001188 |
sc
表:
sno | cno | score | point |
---|---|---|---|
1401102 | 0000010 | 67.0 | 1.0 |
1401102 | 0000013 | 89.0 | 2.5 |
1401102 | 0000045 | NULL | NULL |
1811104 | 0000011 | 53.0 | 0.0 |
1811104 | 0000011 | 80.0 | 2.0 |
1811105 | 0000027 | 84.0 | 1.0 |
1911101 | 0000011 | 71.0 | 2.0 |
输出样例:
请在这里给出输出样例。例如:
班级 | 人数 |
---|---|
18英语1 | 2 |
19信管2 | 1 |
SELECT class as 班级, COUNT(*) AS 人数
FROM students
WHERE sno IN (
SELECT sno
FROM sc
WHERE cno = '0000011'
)
GROUP BY class
38.查询“严蔚敏”教师任课的课程号,选修其课程的学生的学号和成绩
本题目要求编写SQL语句,
检索出teacher
表、teaching
表和sc
表中,查询“严蔚敏”教师任课的课程号,选修其课程的学生的学号和成绩。
提示:请使用嵌套查询语句作答。
表结构:
请在这里写定义表结构的SQL语句。例如:
CREATE TABLE teachers (
tno char(3) ,
tname char(8),
ps char(10),
tbirthday date ,
tdept char(16) ,
tsex char(2),
PRIMARY KEY (tno)
) ;
CREATE TABLE teaching (
sid int ,
cterm int,
class char(10) DEFAULT NULL,
cno char(7) NOT NULL,
tno char(3) DEFAULT NULL,
period int DEFAULT NULL,
PRIMARY KEY (sid)
) ;
CREATE TABLE sc (
sno char(7) ,
cno char(7) ,
score decimal(4,1),
point decimal(2,1),
PRIMARY KEY (sno,cno)
) ;
表样例
请在这里给出上述表结构对应的表样例。例如
teachers
表:
tno | tname | ps | tbirthday | tdept | tsex |
---|---|---|---|---|---|
001 | 谭浩强 | 教授 | 1958-01-01 | 计科 | 男 |
002 | 王珊 | 教授 | 1962-02-13 | 计科 | 女 |
003 | 萨师煊 | 教授 | 1953-05-01 | 计科 | 男 |
004 | 严蔚敏 | 副教授 | 1968-07-02 | 软工 | 女 |
005 | 李琳 | 讲师 | 1988-11-15 | 软工 | 女 |
006 | 韩万江 | 助教 | 1992-10-17 | 信管 | 男 |
teaching
表:
sid | cterm | class | cno | tno | period |
---|---|---|---|---|---|
1 | 1 | 17物流1 | 0000011 | 001 | 36 |
2 | 1 | 17物流1 | 0000034 | 002 | 72 |
3 | 3 | 17物流1 | 0000052 | 003 | 60 |
4 | 1 | 17物流1 | 0000027 | 004 | 108 |
5 | 2 | 17物流1 | 0000039 | 005 | 36 |
6 | 6 | 17物流1 | 0000005 | 006 | 72 |
sc
表:
sno | cno | score | point |
---|---|---|---|
1311104 | 0000011 | 73.0 | 0.0 |
1311104 | 0000027 | 80.0 | 1.0 |
1311105 | 0000027 | 84.0 | 1.0 |
1711101 | 0000052 | 71.0 | 2.0 |
输出样例:
请在这里给出输出样例。例如:
cno | sno | score |
---|---|---|
0000027 | 1311104 | 80.0 |
0000027 | 1311105 | 84.0 |
SELECT sc.cno, sc.sno, sc.score
FROM sc
WHERE sc.cno IN (
SELECT teaching.cno
FROM teaching
WHERE teaching.tno = (
SELECT tno
FROM teachers
WHERE tname = '严蔚敏'
)
);
39.查询与“陈红”同一个学院的同学姓名
本题目要求编写SQL语句,
检索出students
表中,与“陈红”同一个学院的同学姓名。
提示:请使用嵌套查询语句作答。
表结构:
请在这里写定义表结构的SQL语句。例如:
CREATE TABLE students (
sno char(7) ,
sname char(8) NOT NULL,
class char(10),
ssex char(2),
bday date ,
bplace char(10) ,
IDNum char(18) ,
sdept char(16),
phone char(11),
PRIMARY KEY (sno)
) ;
表样例
请在这里给出上述表结构对应的表样例。例如
students
表:
sno | sname | class | ssex | bday | bplace | IDNum | sdept | phone |
---|---|---|---|---|---|---|---|---|
1401102 | 陈晓东 | 14计科1 | 男 | 1996-03-21 | 浙江杭州 | 330203199603210034 | 信息学院 | 15911113355 |
1701101 | 陈红 | 17计应1 | 女 | 1998-12-02 | 浙江宁波 | 330102199812020021 | 信息学院 | 15900001111 |
1711101 | 赵薇 | 17物流1 | 女 | 1999-02-11 | 安徽合肥 | 330203199902110925 | 经管学院 | 15900001177 |
1711102 | 董洁 | 17物流1 | 女 | 1999-02-17 | 上海 | 330203199902170017 | 经管学院 | 15900001188 |
输出样例:
请在这里给出输出样例。例如:
sname |
---|
陈晓东 |
select sname from students
where sdept = any
(select sdept from students where sname = '陈红')
and sname != '陈红';
40.查询成绩比所有课程的平均成绩高的学生的学号及成绩
本题目要求编写SQL语句,
检索出sc
表中,课程成绩比所有课程的平均成绩高的学生的学号及成绩。
提示:请使用嵌套查询语句作答。
表结构:
请在这里写定义表结构的SQL语句。例如:
CREATE TABLE sc (
sno char(7) ,
cno char(7) ,
score decimal(4,1),
point decimal(2,1),
PRIMARY KEY (sno,cno)
) ;
表样例
请在这里给出上述表结构对应的表样例。例如
sc
表:
sno | cno | score | point |
---|---|---|---|
1311104 | 0000011 | 53.0 | 0.0 |
1311104 | 0000027 | 80.0 | 1.0 |
1311105 | 0000027 | 84.0 | 1.0 |
1711101 | 0000052 | 71.0 | 2.0 |
输出样例:
请在这里给出输出样例。例如:
sno | score |
---|---|
1311104 | 80.0 |
1311105 | 84.0 |
SELECT sno, score
FROM sc
WHERE score > (SELECT AVG(score) FROM sc);