数据库SQL命令测试题1
10-1 显示教工编号以02开头的教师信息
作者 冰冰 单位 广东东软学院
显示教工编号以02开头的教师信息
提示:请使用SELECT语句作答。
表结构:
CREATE TABLE teacher (
TId CHAR(5) NOT NULL, -- 教师工号,主键
DId CHAR(2) NULL, -- 系编号
TName CHAR(8) NOT NULL, -- 姓名
TSexy CHAR(2) NOT NULL, -- 性别
TBdate DATE NOT NULL, -- 出生日期
TField CHAR(50) NOT NULL, -- 研究领域
TProf CHAR(10) NOT NULL, -- 职称
TTele CHAR(16) NULL, -- 联系电话
TQq CHAR(12) NULL, -- QQ号码
TEmail CHAR(30) NULL, -- 邮箱
TMsn CHAR(30) NULL, -- MSN
PRIMARY KEY (TId)
);
表样例
teacher
表:
查询结果输出样例:
提交代码:
select * from teacher where TId like '02%';
10-2 65.显示上过李飞老师的课的学生的学号、姓名与联系电话
作者 宋光慧 单位 浙大宁波理工学院
本题目要求编写SQL语句,查询显示上过李飞老师的课的学生的学号、姓名与联系电话。
现有教务管理系统的关系描述如下:
- 每个院系(部门)有多个班级和多名教师,每名教师各自开设有多门课程。
- 每位教师管理多个班级(班主任),每个班级只能被一位老师管理。
- 每名学生属于一个班级,可以选修多门课程。
- 每门课程可被多位老师讲授,并且有些课程具有先导课程,每门课程的成绩由平时成绩、期中成绩、期末成绩组成,最终计算总评成绩。
- 课程信息表供教师和学生查询,包含课程信息、任课教师、上课班级、上课教室、上课日期(周几)、上课时间(第几节课)、上课学期学年等信息。
-
学生表:student
表结构
表数据
-
课程表:course
表结构
表数据
-
选课表:sc
表结构
表数据
-
班级表:grade
表结构
表数据
-
院系(部门)表:dept
表结构
表数据
-
教师表:teacher
表结构
表数据
-
课程信息表:information
表结构
表数据
样例输出:
提交代码:
select SId,SName,STele from student
where Sid in (select Sid from sc where Cid in (select Cid from information where Tid in (select Tid from teacher where TName='李飞') )
);
10-3 查询在2006年1月30日以后出生的学生的姓名、性别和出生日期
作者 马丰媛 单位 大连东软信息学院
题目描述:本题目要求编写SQL语句,查询在2006年1月30日以后出生的学生的姓名、性别和出生日期。
提示:请使用SELECT语句作答。
表结构:
student
表结构:
create table student(sno char(8) primary key,sname varchar(10) not null,gender char(2) check(gender='男' or gender='女'),birthdate date,major varchar(20) default '软件工程');
表样例
student
表:
输出样例:
请在这里给出输出样例。例如:
提交代码:
select sname,gender,birthdate from student where
birthdate > '2006-01-30' ;
10-4 查询没有选课的学生学号、姓名和班级
作者 邵煜 单位 宁波财经学院
本题目要求编写SQL语句,检索出students
表和sc
表中没有选课的学生学号和姓名。
提示:请使用嵌套查询语句作答。
表结构:
请在这里写定义表结构的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 |
---|---|---|---|---|---|---|---|---|
1311104 | 李嘉欣 | 13英语1 | 女 | 1994-05-28 | 山西太原 | 330204199405281056 | 人文学院 | 15900002211 |
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 |
1311104 | 0000027 | 80.0 | 1.0 |
1311105 | 0000027 | 84.0 | 1.0 |
1711101 | 0000052 | 71.0 | 2.0 |
输出样例:
请在这里给出输出样例。例如:
sno | sname | class |
---|---|---|
1711102 | 董洁 | 17物流1 |
提交代码:
select sno,sname,class from students
where sno in
(select sno from students where not exists (select * from sc where sc.sno = students.sno));
10-5 查询考试成绩不及格的学生学号
作者 马丰媛 单位 大连东软信息学院
题目描述:本题目要求编写SQL语句,查询考试成绩不及格的学生学号。
提示:请使用SELECT语句作答。
表结构:
sc
表结构:
create table sc( -- 选课成绩单表scid int auto_increment primary key,sno char(8) references Student(sno),cno char(10) references Course(cno),tno char(15) references Teacher(tno),grade int check(grade>=0 and grade<=100),gpoint decimal(2,1), -- 学生得到的课程绩点memo text(100) -- 备注);
表样例
sc
表:
输出样例:
请在这里给出输出样例。例如:
提交代码:
select sno from sc
where grade < 60;
10-6 查询计算机科学专业刘晨选修课程的课程名
作者 李翔坤 单位 大连东软信息学院
查询计算机科学专业刘晨选修课程的课程名
提示:请使用SELECT语句作答。
表结构:
create table if not exists Student(sno char(8) primary key,sname varchar(10) not null,gender char(2) check(gender='男' or gender='女'),birthdate date,major varchar(20) default '软件工程');
create table if not exists SC( -- 选课成绩单表scid int auto_increment primary key,sno char(8) references Student(sno),cno char(10) references Course(cno),tno char(15) references Teacher(tno),grade int check(grade>=0 and grade<=100),gpoint decimal(2,1), -- 学生得到的课程绩点memo text(100) -- 备注);create table if not exists Course(cno char(10) primary key,cname varchar(20) not null,ccredit int check(ccredit>0), -- 课程学分semester int check(semester>0), -- 学期period int check(period>0) -- 总学时);
表样例
Student
表:
SC
表:
Course
表:
输出样例:
提交代码:
select cname from Course
where cno in (select cno from SCwhere sno in (select sno from Studentwhere sname = '刘晨' and major = '计算机科学')
);
10-7 查询选修C01课且成绩高于此课程平均成绩的学生姓名
作者 李翔坤 单位 大连东软信息学院
题目描述:查询选修C01课且成绩高于此课程平均成绩的学生姓名。
提示:请使用SELECT语句作答。
表结构:
create table if not exists Student(sno char(8) primary key,sname varchar(10) not null,gender char(2) check(gender='男' or gender='女'),birthdate date,major varchar(20) default '软件工程');select * from student;
create table if not exists Course(cno char(10) primary key,cname varchar(20) not null,ccredit int check(ccredit>0), -- 课程学分semester int check(semester>0), -- 学期period int check(period>0) -- 总学时);select * from course;
create table if not exists Teacher(Tno char(15) primary key,Tname varchar(10) not null,gender char(2),deptname varchar(50) , -- 所属系部title varchar(20) -- 职称
);
create table if not exists SC( -- 选课成绩单表scid int auto_increment primary key,sno char(8) references Student(sno),cno char(10) references Course(cno),tno char(15) references Teacher(tno),grade int check(grade>=0 and grade<=100),gpoint decimal(2,1), -- 学生得到的课程绩点memo text(100) -- 备注);
表样例
请在这里给出上述表结构对应的表样例。例如
Student
表:
Course
表:
Teacher
表:
SC
表:
输出样例:
请在这里给出输出样例。例如:
提交代码:
select sname from Student
where sno in (select sno from SCwhere cno = 'c01' and grade > (select avg(grade) from SCwhere cno = 'c01')
);
10-8 查询学生选修课程的平均成绩高于75分的课程号
作者 马丰媛 单位 大连东软信息学院
题目描述:查询学生选修课程的平均成绩高于75分的课程号。
提示:请使用SELECT语句作答。
表结构:
SC
表结构的SQL语句:
create table SC( scid int auto_increment primary key,sno char(8) references Student(sno),cno char(10) references Course(cno),tno char(15) references Teacher(tno),grade int check(grade>=0 and grade<=100),gpoint decimal(2,1), memo text(100) );
表样例
请在这里给出上述表结构对应的表样例。例如
SC
表:
输出样例:
请在这里给出输出样例。例如:
提交代码:
select cno from SC
group by cno
having avg(grade) > 75 ;
10-9 查询教授多门课程的教师编号及教授的课程门数
作者 马丰媛 单位 大连东软信息学院
题目描述:查询教授多门课程的教师编号及教授的课程门数。
提示:请使用SELECT语句作答。
表结构:
SC
表结构:
create table SC( scid int auto_increment primary key,sno char(8) references Student(sno),cno char(10) references Course(cno),tno char(15) references Teacher(tno),grade int check(grade>=0 and grade<=100),gpoint decimal(2,1), memo text(100) );
表样例
请在这里给出上述表结构对应的表样例。例如
SC
表:
输出样例:
请在这里给出输出样例。例如:
提交代码:
select tno , count(distinct(cno)) as '门数'
from SC
group by tno
having count(distinct(cno)) > 1 ;
10-10 求各个课程号及相应的选课人数
作者 马丰媛 单位 大连东软信息学院
题目描述:求各个课程号及相应的选课人数。
提示:请使用SELECT语句作答。
表结构:
SC
表结构的SQL语句:
create table SC( scid int auto_increment primary key,sno char(8) references Student(sno),cno char(10) references Course(cno),tno char(15) references Teacher(tno),grade int check(grade>=0 and grade<=100),gpoint decimal(2,1), memo text(100) );
表样例
请在这里给出上述表结构对应的表样例。例如
SC
表:
输出样例:
请在这里给出输出样例。例如:
提交代码:
select cno , count(sno) as '人数'
from SC
group by cno ;
10-11 查询每名学生的选课门数和平均成绩
作者 马丰媛 单位 大连东软信息学院
题目描述:查询每名学生的选课门数和平均成绩。
提示:请使用SELECT语句作答。
表结构:
SC
表结构的SQL语句:
create table SC( scid int auto_increment primary key,sno char(8) references Student(sno),cno char(10) references Course(cno),tno char(15) references Teacher(tno),grade int check(grade>=0 and grade<=100),gpoint decimal(2,1), memo text(100) );
表样例
请在这里给出上述表结构对应的表样例。例如
SC
表:
输出样例:
请在这里给出输出样例。例如:
提交代码:
select sno , count(*) as '数量' , avg(grade) as '平均成绩'
from SC
group by sno;
10-12 SQL除法查询4
作者 沈炜 单位 浙江理工大学
求包含订单号(order_num)20005的所有产品的订单的订单号
CREATE TABLE orderitems
(order_num int NOT NULL ,order_item int NOT NULL ,prod_id char(10) NOT NULL ,quantity int NOT NULL ,item_price decimal(8,2) NOT NULL ,PRIMARY KEY (order_num, order_item)
)
表样例
Orderitems
表:
order_num | order_item | prod_id | quantity | item_price |
---|---|---|---|---|
20005 | 1 | ANV01 | 10 | 5.99 |
20005 | 2 | ANV02 | 3 | 9.99 |
20005 | 3 | TNT2 | 5 | 10 |
20005 | 4 | FB | 1 | 10 |
20006 | 1 | JP2000 | 1 | 55 |
20007 | 1 | TNT2 | 100 | 10 |
20008 | 1 | FC | 50 | 2.5 |
20009 | 1 | FB | 1 | 10 |
20009 | 2 | OL1 | 1 | 8.99 |
20009 | 3 | SLING | 1 | 4.49 |
20009 | 4 | ANV03 | 1 | 14.99 |
输出样例:
这里是结果:
order_num |
---|
20005 |
提交代码:
select distinct(order_num)
from orderitems o1
where not exists(select *from orderitems o2where o2.order_num = 20005 and not exists(select *from orderitems o3where o3.order_num = o1.order_num and o3.prod_id = o2.prod_id)
);
100 | 10 |
| 20008 | 1 | FC | 50 | 2.5 |
| 20009 | 1 | FB | 1 | 10 |
| 20009 | 2 | OL1 | 1 | 8.99 |
| 20009 | 3 | SLING | 1 | 4.49 |
| 20009 | 4 | ANV03 | 1 | 14.99 |
输出样例:
这里是结果:
order_num |
---|
20005 |
提交代码:
select distinct(order_num)
from orderitems o1
where not exists(select *from orderitems o2where o2.order_num = 20005 and not exists(select *from orderitems o3where o3.order_num = o1.order_num and o3.prod_id = o2.prod_id)
);
本文作者:鸿·蒙
文档工具:Typora
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 鸿·蒙 !