最新数据库SQL练习题教学文案
- 格式:ppt
- 大小:451.00 KB
- 文档页数:49
2023 SQL 数据库查询练习题及答案数据库查询是数据管理和处理的重要环节,熟练的SQL查询技巧对于数据库工程师和数据分析师来说至关重要。
为了提升大家的SQL 查询能力,以下是一些2023年的SQL数据库查询练习题及答案,希望能够对大家的学习和实践有所帮助。
练习题1:学生成绩表考虑一个学生成绩表(Students)和课程信息表(Courses),请使用SQL查询语句完成以下操作。
1. 查询所有学生的姓名和学号;2. 查询所有参加了"C3"课程的学生的姓名和学号;3. 查询所有选择了至少两门课程的学生的姓名和学号;答案1:SELECT 学号, 姓名FROM 学生成绩表;答案2:SELECT 学生成绩表.学号, 学生成绩表.姓名FROM 学生成绩表, 课程信息表WHERE 学生成绩表.课程编号 = 课程信息表.课程编号AND 课程信息表.课程名称 = "C3";答案3:SELECT 学号, 姓名FROM 学生成绩表GROUP BY 学号, 姓名HAVING COUNT(*) >= 2;练习题2:库存管理考虑一个库存管理系统的数据库,包含了商品表(Products)、仓库表(Warehouses)和库存表(Inventory)。
请使用SQL查询语句完成以下操作。
1. 查询商品表中单价不低于100元的商品的名称和单价;2. 查询所有位于“北京”仓库中的商品的名称和库存量;3. 查询库存量最多的商品的名称和库存量;答案1:SELECT 名称, 单价FROM 商品表WHERE 单价 >= 100;答案2:SELECT 商品表.名称, 库存表.库存量FROM 商品表, 仓库表, 库存表WHERE 商品表.商品ID = 库存表.商品IDAND 仓库表.仓库ID = 库存表.仓库IDAND 仓库表.所在地 = "北京";答案3:SELECT 商品表.名称, 库存表.库存量FROM 商品表, 库存表WHERE 商品表.商品ID = 库存表.商品IDORDER BY 库存表.库存量 DESCLIMIT 1;练习题3:订单管理考虑一个订单管理系统的数据库,包含了客户表(Customers)、订单表(Orders)和订单详情表(OrderDetails)。
SQL语句练习及参考答案SQL 语句练习1.设学⽣选课数据库有关系S (sno,sname,age,sex )、SC (sno,cno,grade )和C(cno,cname,teacher ),分别表⽰学⽣、选课和课程,sno 代表学号,sname 代表学⽣姓名,age 代表年龄,sex 代表性别,grade 代表成绩,cno 代表课程号,teacher 代表任课教师。
试完成表⽰下列查询。
(1)检索年龄⼤于21的男学⽣学号(sno)和姓名(sname)。
(2)建⽴性别只能为“男”、“⼥”的约束。
(3)创建⼀个视图v1,该视图⽤来查询学⽣的选课情况,要求包含:学⽣姓名(sname),课程名(cname),任课教师teacher 和成绩grade 。
(4)检索选修课程号为k1和k5的学⽣学号(sno)。
(5)检索全部学⽣都选修的课程的课程号(cno)和课程名(cname)。
(6)删除所有男同学的选课记录。
1.(1)select sno,snae from s where sex=’男’ and age>21 (2)alter table s add constraint c1 check sex in (‘男’,’⼥’)(3)create view v1 as select sname,cname,teacher,grade from s,sc,c where s.sno=sc.sno and/doc/62176c89fe4733687e21aaca.html o=/doc/62176c89fe4733687e21aaca.html o (4)select sno fromsc sc1 where cno=’k1’ and exists (se lect * fromsc sc2 where sc1.sno =sc2.sno and/doc/62176c89fe4733687e21aaca.html o=’k5’)(5)select cno,cnam from c where not exists (select * from s where not exists (select * from sc where/doc/62176c89fe4733687e21aaca.html o=/doc/62176c89fe4733687e21aaca.html o and s.sno=sc.sno)(6)delete from sc where sno in (select sno from s where sex=’男’)或delete sc from sc,s where s.sno=sc.sno and sex=’男’2.设图书借阅数据库有关系图书(图书编号,书名,作者,出版社,出版时间,图书类别)、读者(读者编号,姓名,读者类别)和借阅(读者编号, 图书编号, 借阅⽇期,还期)。
数据库的sql语句练习题1. 练习题一:查询语句基础在学生表(students)中,包含以下字段:学号(id)、姓名(name)、年龄(age)、性别(gender)、班级(class)、成绩(score)。
请编写SQL语句实现以下需求:a) 查询学生表中所有学生的信息。
b) 查询学生表中的男性学生信息。
c) 查询学生表中年龄为18岁的学生信息。
d) 查询学生表中成绩大于等于90分的学生信息。
e) 查询学生表中姓“张”的学生信息。
2. 练习题二:修改语句练习在学生表(students)中,某个学生的学号为1001,需要将该学生的年龄修改为20岁,请编写相应的SQL语句实现此操作。
3. 练习题三:插入语句练习在学生表(students)中添加一条新纪录,学号为1002,姓名为李明,年龄为19岁,性别为男,班级为三年级,成绩为87分,请编写相应的SQL语句实现此操作。
4. 练习题四:删除语句练习在学生表(students)中,某个学生的学号为1003,需要将该学生的信息从表中删除,请编写相应的SQL语句实现此操作。
5. 练习题五:使用多表查询存在两张表,学生表(students)和课程表(courses)。
学生表包含字段:学号(id)、姓名(name)、班级(class);课程表包含字段:课程编号(course_id)、课程名称(course_name)。
已知约德尔学院中,学号为1001的学生参加了编号为1的课程,请编写SQL语句查询学号为1001的学生所选的课程及课程名称。
6. 练习题六:排序查询练习在学生表(students)中,查询所有学生的信息,并按照成绩从高到低进行排序。
以上是数据库的SQL语句练习题,请按照上述要求编写相应的SQL语句进行解答。
祝你练习愉快,取得好成绩!。
以下为SQL查询练习参考答案(查询用到的表参照教材P82)。
1.查询全体学生的姓名和所在系。
Select Sno,SdeptFrom Student;2.查询所有课程的详细信息。
Select *From Course;或者Select Cno,Cname,Cpno,CcreditFrom Course;3.查询选修了课程的学生学号。
Select Distinct SnoFrom SC;注意:select子句中需要指定Distinct 关键词4.查询有学生选修的课程号。
Select Distinct CnoFrom SC;5.检索年龄在 18到 20之间(含18和20)的女生的学号、姓名及年龄。
Select Sno,Sname,SageFrom StudentWhere Ssex=’女’ and (Sage between 18 and 20);注意: where子句性别的常量值——女,需用英文状态下的单引号或双引号。
或者Select Sno,Sname,SageFrom StudentWhere Ssex=’女’ and (Sage >=18 and Sage<= 20);6.检索“200215121”学生选修课程号及成绩。
Select Cno,GradeFrom SCWhere Sno=’200215121’;7.检索选修了“1”号或“3”号课程的学生学号、课程号及成绩。
Select *From SCWhere Cno=’1’ or Cno=’3’;注意: where子句若用Cno=’1’ or ’3’是错误的,or连接的是两个布尔表达式。
8.检索所有姓王的同学的姓名、性别和所在系。
Select Sname,Ssex,SdeptFrom StudentWhere Sname like ’王*’;注意: Access中的通配符为’*’ 和’?’标。
准SQL中的通配符为’%’ 和’_’9.检索课程名中包括“数据库”的课程详细信息,结果按学分降序排列。
(sql语句试题练习及参考答案解题思路+个⼈解题思路)SQL字段说明及数据=======================================================================⼀、部门表字段描述:dp_no 部门IDdp_name 部门名称dp_loc 部门所在地⼆、员⼯表字段说明:eNo 员⼯编号eName 员⼯姓名eJob 员⼯职责emgr 上司编号eHiredate ⼊职时间eSal ⼯资ecomm 扣税dp_no 部门ID创建数据库及数据表CREATE DATABASE IF NOT EXISTS SQLTEST;CREATE TABLE IF NOT EXISTS dept(dp_no int(10) not null primary key,dp_name varchar(25),dp_loc varchar(25));CREATE TABLE IF NOT EXISTS EMP(eNo int(25) not null primary key,eName varchar(45),eJob varchar(45),emgr int(25),eHiredate date,eSal int(45),ecomm int(45),dp_no int(25));添加dept表数据:insert into dept(dp_no, dp_name, dp_loc) values (10, 'ACCOUNTING', 'NEW YORK');insert into dept(dp_no, dp_name, dp_loc) values (20, 'RESEARCH', 'DALLAS');insert into dept(dp_no, dp_name, dp_loc) values (30, 'eSalES', 'CHICAGO');insert into dept(dp_no, dp_name, dp_loc) values (40, 'OPERATIONS', 'BOSTON');commit;添加EMP表数据: eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_noinsert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7369, 'SMITH', 'CLERK', 7902, '1980-12-17', 800, null, 20);insert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7499, 'ALLEN', 'eSalESMAN', 7698,'1981-02-20', 1600, 300, 30);insert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7521, 'WARD', 'eSalESMAN', 7698, '1981-02-22', 1250, 500, 30);insert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7566, 'JONES', 'MANAGER', 7839, '1981-04-02' , 2975, null, 20);insert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7654, 'MARTIN', 'eSalESMAN', 7698, '1981-09-28' , 1250, 1400, 30);insert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7698, 'BLAKE', 'MANAGER', 7839, '1981-05-01' , 2850, null, 30);insert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7782, 'CLARK', 'MANAGER', 7839, '1981-06-09' , 2450, null, 10);insert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7788, 'SCOTT', 'ANALYST', 7566, '1987-04-19' , 3000, null, 20);insert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7839, 'KING', 'PRESIDENT', null, '1981-11-17' , 5000, null, 10);insert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7844, 'TURNER', 'eSalESMAN', 7698, '1981-09-08' ,1500, 0, 30);insert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7876, 'ADAMS', 'CLERK', 7788, '1987-05-23' , 1100, null, 20);insert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7900, 'JAMES', 'CLERK', 7698, '1981-12-03' , 950, null, 30);insert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7902, 'FORD', 'ANALYST', 7566, '1981-12-02' , 3000, null, 20);insert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7934, 'MILLER', 'CLERK', 7782, '1982-01-23' , 5000, null, 10);操作:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------SQL基本操作案例=======================================================================⽼师给的问题及解题思路【1】. 查询出JONES的领导是谁(JONES向谁报告)。
第三章S Q L语言练习题和答案第三章 SQL语言一、选择题1. SQL语言是(B )的语言,容易学习。
A.过程化B. 非过程化C.格式化D. 导航式2. SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE、DELETE等。
其中最重要的,也是使用最频繁的语句是(A)。
A. SELECTB. INSERTC. UPDATED. DELETE3. 在视图上不能完成的操作是()。
A. 更新视图B. 查询C. 在视图上定义新的表D. 在视图上定义新的视图4. SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能()。
A. 数据查询B. 数据操纵C. 数据定义D. 数据控制5. SQL语言中,删除一个视图的命令是()。
A.DELETEB.DROPC.CLEARD.REMOVE6. 在SQL语言中的视图VIEW是数据库的()。
A. 外模式B. 模式C. 内模式D. 存储模式7. 下列的SQL语句中,()不是数据定义语句。
A. CREATE TABLEB. DROP VIEWC. CREATE VIEWD. GRANT8. 若要撤销数据库中已经存在的表S,可用()。
A. DELETE TABLE SB. DELETE SC. DROP TABLE SD. DROP S9. 若要在基本表S中增加一列CN(课程名),可用()。
A.ADD TABLE S(CN CHAR(8))B.ADD TABLE S ALTER(CN CHAR(8))C.ALTER TABLE S ADD(CN CHAR(8))D.ALTER TABLE S (ADD CN CHAR(8))10. 学生关系模式 S( S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。
要在表S中删除一个属性“年龄”,可选用的SQL语句是()。
A. DELETE Age from SB. ALTER TABLE S DROP AgeC. UPDATE S AgeD. ALTER TABLE S ‘Age’11. 有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S #,C#,GRADE)。
2023 SQL 数据库管理练习题及答案练习一:创建表格在关系型数据库中,表格是存储数据的基本单位。
请根据以下需求创建一个名为“Students”的表格,包括以下字段:- 学号(StudentID):学生的唯一标识符,类型为整数。
- 姓名(Name):学生的姓名,类型为字符串。
- 年龄(Age):学生的年龄,类型为整数。
- 成绩(Grade):学生的成绩,类型为浮点数。
使用 SQL 语句创建表格的格式如下所示:```CREATE TABLE 表格名称 (字段1 数据类型,字段2 数据类型,...);```练习二:插入数据在已创建的表格中插入数据是常见的操作。
请根据以下需求向表格“Students”中插入三条学生记录:- 学号为001,姓名为张三,年龄为18岁,成绩为85.5。
- 学号为002,姓名为李四,年龄为20岁,成绩为90.0。
- 学号为003,姓名为王五,年龄为19岁,成绩为78.5。
使用 SQL 语句插入数据的格式如下所示:```INSERT INTO 表格名称 (字段1, 字段2, ...)VALUES (值1, 值2, ...);```练习三:查询数据查询是数据库管理中重要的操作之一。
请根据以下需求从表格“Students”中查询数据:1. 查询所有学生的学号和姓名。
2. 查询成绩大于等于90分的学生记录。
3. 查询年龄大于等于20岁的学生记录,并按照成绩降序排列。
使用 SQL 语句查询数据的格式如下所示:```SELECT 字段1, 字段2, ...FROM 表格名称WHERE 条件;```练习四:更新数据数据的更新是数据库管理中常见的操作之一。
请根据以下需求更新表格“Students”中的数据:将学号为001的学生记录的成绩更新为88.0。
使用 SQL 语句更新数据的格式如下所示:```UPDATE 表格名称SET 字段 = 新值WHERE 条件;```练习五:删除数据数据的删除也是数据库管理中常见的操作之一。
2023SQL数据库操作复习题集附答案SQL数据库操作复习题集附答案1. 操作数据库表题目一:创建表根据以下需求,创建一个名为"Students"的表,并定义适当的字段和数据类型:- 学生ID(整型,主键)- 姓名(字符串类型,最大长度为50)- 年龄(整型)答案一:CREATE TABLE Students (StudentID INT PRIMARY KEY,Name VARCHAR(50),Age INT);题目二:插入数据向"Students"表中插入以下两条学生记录:- 学生ID:1,姓名:张三,年龄:20- 学生ID:2,姓名:李四,年龄:22答案二:INSERT INTO Students (StudentID, Name, Age) VALUES (1, '张三', 20),(2, '李四', 22);2. 查询数据题目三:基本查询完成以下查询操作:1. 查询所有学生记录的学生ID和姓名;2. 查询年龄大于等于21岁的学生记录。
答案三:1. SELECT StudentID, Name FROM Students;2. SELECT * FROM Students WHERE Age >= 21;题目四:排序查询查询所有学生记录,并按照年龄从小到大排序。
答案四:SELECT * FROM Students ORDER BY Age ASC;3. 更新和删除数据题目五:更新记录将学生ID为1的学生姓名改为"王五"。
答案五:UPDATE Students SET Name = '王五' WHERE StudentID = 1;题目六:删除记录删除所有年龄小于18岁的学生记录。
答案六:DELETE FROM Students WHERE Age < 18;4. 高级操作题目七:连接查询创建一个名为"Courses"的表,包含以下字段:- 课程ID(整型,主键)- 课程名称(字符串类型,最大长度为100)- 学生ID(整型,外键)编写SQL语句实现以下查询操作:查询选修了课程ID为1的学生的姓名和课程名称。
数据库原理及应⽤SQL习题集(含答案)教案《数据库原理及应⽤SQL》课程习题集⼀、单选题1. ER模型属于()A.概念模型B.层次模型C.⽹状模型D.关系模型2.数据库系统的三级模式结构中,定义索引的组织⽅式属于()A.概念模式B.外模式C.逻辑模式D.内模式3. SQL语⾔中,实现数据存取控制功能的语句是()A.CREATE和DROPB.INSERT和DELETEC.GRANT和REVOKE/doc/2bc3e11f0875f46527d3240c844769eae109a31b.html MIT和ROLLBACK4.物理结构的改变不影响整体逻辑结构的性质,称为数据库的()A.物理数据独⽴性B.逻辑数据独⽴性C.物理结构独⽴性D.逻辑结构独⽴性5.全局ER模型的设计,需要消除属性冲突、命名冲突和()A.结构冲突B.联系冲突C.类型冲突D.实体冲突6.⼀个供应商可供应多种零件,⽽⼀种零件可由多个供应商供应,则实体供应商与零件之间的联系是()A.⼀对⼀B.⼀对多C.多对⼀D.多对多7.表达式“AGE BETWEEN 18 AND 24”等价于()A.AGE>18 AND G<24B.AGE>=18 AND G<24C.AGE>18 AND G<=24D.AGE>=18 AND AGE<=248.在数据库设计中,独⽴于计算机的硬件和DBMS软件的设计阶段是()A.概念设计B.物理设计C.逻辑设计D.系统实施9.按照PX协议规定,⼀个事务要更新数据对象Q,必须先执⾏的操作是()A.READ(Q)B.WRITE(Q)C.LOCK S(Q)D.LOCK X(Q)10.下列聚集函数中不忽略空值(null)的是()A.SUM(列名)B.MAX(列名)C.COUNT(*)D.A VG(列名)11.数据库系统中,对⽤户使⽤的数据视图的描述称为()A.概念模式B.内模式C.存储模式D.外模式12.数据库的三级模式之间存在着两级映象,使数据库系统具有较⾼的数据()A.相容性B.独⽴性C.共享性D.⼀致性13.实体完整性规则是指关系中()A.不允许有空⾏B.主键不允许有空值C.不允许有空列D.外键不允许有空值14.实现关系代数投影运算的SQL⼦句是()A.SELECT B.ORDER BYC.FROM D.WHERE15. SQL语⾔中,⽤GRANT/REVOKE语句实现数据库的()A.并发控制B.完整性控制C.⼀致性控制D.安全性控制16.在事务依赖图中,若各个事务之间的依赖关系构成循环,则就会出现()A.死锁B.共享锁C.活锁D.排它锁17.以下关于事务调度和封锁的描述中,正确的是()A.遵守两段封锁协议的并发事务⼀定是可串⾏化的B.可串⾏化的并发事务⼀定遵守两段封锁协议C.遵守两段封锁协议的并发事务不⼀定是可串⾏化的D.遵守两段封锁协议的并发事务⼀定不会产⽣死锁18.数据库与⽂件系统的根本区别在于()A 提⾼了系统效率B ⽅便了⽤户使⽤C 数据的结构化D 节省了存储空间19.公司中有多个部门和多名职员,每个职员只能属于⼀个部门,⼀个部门可以有多名职员,从职员到部门的联系类型是( )。
第一阶段题目:以下练习题是根据初始化到数据库中的表执行的,请务必先执行如下建表语句。
create table s1_student( sno varchar2(10) primary key, sname varchar2(30), sbirthday varchar2(30), ssex varchar2(10),sclass varchar2(10) );create table s1_teacher( tno varchar2(10) primary key, tname varchar2(30),tsex varchar2(10),tbirthday varchar2(30),prof varchar2(30),depart varchar2(30) );create table s1_course( cno varchar2(10), cname varchar2(30), tno varchar2(10) ); create table s1_score( sno varchar2(10), cno varchar2(10), degree number );create table s1_grade( low number, upp number, rank varchar2(2) );/*******初始化学生表s1_student******/insert into s1_student values ('108', '曾华', '1997/9/1', '男', '95033');insert into s1_student values ('105', '匡明', '1995/10/2', '男', '95031');insert into s1_student values ('107', '王丽', '1996/1/23', '女', '95033');insert into s1_student values ('101', '李军', '1996/2/20', '男', '95033');insert into s1_student values ('109', '王芳', '1995/2/10', '女', '95031');insert into s1_student values ('103', '陆君', '1994/6/3', '男', '95031');commit;/*******初始化教师表s1_teacher*******/insert into s1_teacher values ('804', '李诚','男','1979-12-2','副教授','计算机系'); insert into s1_teacher values ('856', '张旭','男','1985-3-12','讲师','电子工程系'); insert into s1_teacher values ('825', '王萍','女','1989-5-2','助教','计算机系');insert into s1_teacher values ('831', '刘冰','女','1988-8-2','助教','电子工程系'); commit;/*******初始化课程表s1_course********/insert into s1_course values ('3-105', '计算机导论', '825');insert into s1_course values ('3-245', '操作系统', '804');insert into s1_course values ('6-166', '数据电路', '856');insert into s1_course values ('9-888', '高等数学', '800');commit;/********初始化成绩表s1_score*********/insert into s1_score values ('103', '3-245', 86);insert into s1_score values ('105', '3-245', 75);insert into s1_score values ('109', '3-245', 68);insert into s1_score values ('103', '3-105', 92);insert into s1_score values ('105', '3-105', 88);insert into s1_score values ('109', '3-105', 76);insert into s1_score values ('101', '3-105', 64);insert into s1_score values ('107', '3-105', 91);insert into s1_score values ('108', '3-105', 78);insert into s1_score values ('101', '6-166', 85);insert into s1_score values ('107', '6-106', 79);insert into s1_score values ('108', '6-166', 81);commit;/********初始化成绩分类表s1_grade*********/insert into s1_grade values ('90', '100', 'A');insert into s1_grade values ('80', '89', 'B');insert into s1_grade values ('70', '79', 'C');insert into s1_grade values ('60', '69', 'D');insert into s1_grade values ('0', '59', 'E');commit;1.查询s1_student表中的所有记录的Sname、Ssex和Class列.select sname,ssex,sclass from s1_student;2.查询教师所有的单位即不重复的Depart列.select distinct depart from s1_teacher;3.查询s1_student表的所有记录.select * from s1_student;4.查询s1_score表中成绩在60到80之间的所有记录.select * from s1_score where degree between60and80;5.查询s1_score表中成绩为85,86或88的记录.select * from s1_score where degree in (85,86,88);6.查询s1_student表中“95031”班或性别为“女”的同学记录.select * from s1_student where sclass='95031'or ssex='女';7.以Class降序查询s1_student表的所有记录.select * from s1_student order by sclass desc;8.以Cno升序、Degree降序查询s1_score表的所有记录。
数据库sql课后练习题及答案解析第一篇:数据库sql课后练习题及答案解析先创建下面三个表:(book表)(borrow表)(reader表)1)找出姓李的读者姓名(NAME)和所在单位(COMPANY)。
2)列出图书库中所有藏书的书名(BOOK_NAME)及出版单位(OUTPUT)。
3)查找“高等教育出版社”的所有图书名称(BOOK_NAME)及单价(PRICE),结果按单价降序排序。
4)查找价格介于10元和20元之间的图书种类(SORT),结果按出版单位(OUTPUT)和单价(PRICE)升序排序。
5)查找书名以”计算机”开头的所有图书和作者(WRITER)。
6)检索同时借阅了总编号(BOOK_ID)为112266和449901两本书的借书证号(READER_ID)。
##7)* 查找所有借了书的读者的姓名(NAME)及所在单位(COMPANY)。
8)* 找出李某所借所有图书的书名及借书日期(BORROW_DATE)。
9)* 无重复地查询2006年10月以后借书的读者借书证号(READER_ID)、姓名和单位。
##10)* 找出借阅了一书的借书证号。
11)找出与”赵正义”在同一天借书的读者姓名、所在单位及借书日期。
12)查询2006年7月以后没有借书的读者借书证号、姓名及单位。
#13)求”科学出版社”图书的最高单价、最低单价、平均单价。
##14)* 求”信息系”当前借阅图书的读者人次数。
#15)求出各个出版社图书的最高价格、最低价格和总册数。
#16)分别找出各单位当前借阅图书的读者人数及所在单位。
17)* 找出当前至少借阅了2本图书(大于等于2本)的读者姓名及其所在单位。
18)分别找出借书人次数多于1人次的单位及人次数。
19)找出藏书中各个出版单位的名称、每个出版社的书籍的总册数(每种可能有多册)、书的价值总额。
20)查询经济系是否还清所有图书。
如果已经还清,显示该系所有读者的姓名、所在单位和职称。
假设有如下4个样表student(学号,姓名,性别,出生日期,班级) teacher(教工号,姓名,性别,出生日期,职称,所在系) course(课程号, 课程名,教工号) score(学号,课程号,成绩)1、查询学生信息表中所有的姓名、性别和班级select sname,sex,class from student2、查询成绩表中成绩在60到80之间的所有记录select * from score where degree between 60 and 803、查询学生信息表中‘95031’班的学生或性别为‘女’的学生记录select * from student where class=95031 or sex='女'4、以班级降序显示学生信息表的所有记录select * from student order by class desc5、以课程号升序、成绩降序显示成绩表的所有记录select * from score order by cno asc , degree desc6、查询‘95031’班的学生人数select count(sno) 人数 from student where class=950317、查询成绩表中的最高分的学生的学号,课程号select sno,cno from score where degree=(select max(degree) from score)8、查询成绩表中课程号为‘3-105’的平均分*/select avg(degree) 平均成绩 from score where cno='3-105'9、显示成绩表中至少有5名学生选修的并以3开头的课程号的平均分数select avg(degree) 平均分数 from score where cno like '3%' group by cno having count(sno)>=5 10、列出95033班和95031班全体学生的记录select * from student where class in('95031','95033')11、显示所有学生的姓名、课程号和成绩select sname,cno,degree from student,score where student.sno=score.sno12、列出所有同学的姓名、课程名和成绩select sname,cname,degree from student,score,course where student.sno=score.sno and o=o13、显示'张旭'教师任课的学生成绩select student.sno, sname,degree from student,score where student.sno=score.sno and cno in (select cno from course where tno in (select tno from teacher where name='张旭' ) ) 14、列出存在有85分以上成绩的课程号select distinct cno from score where degree in (select degree from score where degree>85) 15、列出最高分同学的学号、课程号和成绩*/select * from score where sno=(select sno from score where degree= (select max(degree) from score)) 16、列出所有未讲课的教师的姓名和系别select name,depart from teacher where not exists (select * from course where course.tno=teacher.tno)17、列出成绩比该课程平均成绩低的同学的成绩表select * from score x where degree<(select avg(degree) from score y where o=o)18、列出所有选修‘计算机导论’课程的‘男’同学的成绩表select student.sno,sname,degree from score,student where student.sno=Score.sno and cno= ( select cno from course where cname='计算机导论')and sex='男'5.试用SQL语言完成以下各项操作:四个关系模式:S(SNO,SNAME,STATUS,CITY)P(PNO,PNAME,COLOR,WEIGHT) J(JNO,JNAME,CITY)SPJ(SNO,PNO,JNO,QTY)(1) 找出所有供应商的姓名和所在城市。
数据库教程习题解答及上机辅导教学设计一、前言数据库是计算机科学中非常重要的一部分,涉及到了存储、管理和使用数据。
对于像数据库这样的课程,学生们总是能够学到很多有趣的知识和技能。
但是,许多学生在学习数据库时会遇到困难,因为这一过程需要掌握许多不同的概念和技术。
因此,本文将对数据库教程中的一些习题进行解答,并给出一份上机辅导教学设计建议,以帮助学生更好地理解和使用数据库。
二、数据库教程习题解答1. SQL语句查询给定下面的表,请编写SQL语句,查询出ID为1、2、3、4、5的员工工资。
ID name salary1 Jack 50002 Lucy 60003 Tom 55004 Mike 65005 John 45006 Kate 5500SELECT salaryFROM employeeWHERE ID IN (1,2,3,4,5)2. 数据库关系图以下是一个简单的数据库关系图,请根据该关系图,完成如下查询:给出所有学生的名字、年龄、班级名称。
SELECT , student.age, FROM studentLEFT JOIN class ON student.class_id=class.id三、上机辅导教学设计上机辅导是数据库教学中非常重要的一部分,它可以帮助学生更好地掌握和应用所学的概念和技术。
在本节中,我们将提供一种基于四个基本步骤的上机辅导教学设计建议。
1. 设计前准备在上机前,老师应该先准备一个数据库案例,包括数据表、数据、索引等内容。
还应该准备一些习题和练习,以帮助学生巩固和应用所学的知识。
2. 设计步骤上机辅导应该分为以下四个基本步骤:第一步:题目讲解老师应该为每个练习或习题提供详细的讲解,以使学生更好地理解问题和解题思路。
第二步:独立解题学生应该独立完成练习或习题,并尝试在不使用参考答案的情况下解决问题。
老师可以在这个过程中提供帮助和指导。
第三步:讲解参考答案在学生完成练习或习题后,老师应该提供参考答案,并对错误或不理解的地方进行更深入的讲解。
SQL语句练习及标准答案SQL语句练习及答案————————————————————————————————作者:————————————————————————————————日期:sql语句练习题1数据库有如下四个表格:student(sno,sname,sage,ssex,sdpt) 学生表系表(dptno,dname)course(cno,cname, gradet, tno) 课程表sc(sno,cno,score) 成绩表teacher(tno,tname) 教师表要求:完成以下操作1.查询姓"欧阳"且全名为三个汉字的学生的姓名。
select sname from student where sname like “欧阳__?;2.查询名字中第2个字为"阳"字的学生的姓名和学号。
select sname,sno from student where sname like '_阳%';3.查询所有不姓刘的学生姓名。
select sname,sno,ssexfrom studentwhere sname not like “刘%”;4.查询db_design课程的课程号和学分。
select cno,ccredit from coursewhere cname like 'db_design'5.查询以"db_"开头,且倒数第3个字符为i的课程的详细情况。
select * from course where cname like 'db%i_ _';6.某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。
查询缺少成绩的学生的学号和相应的课程号。
select sno,cno from sc where grade is null;7.查所有有成绩的学生学号和课程号。
select sno,cno from sc where grade is not null;8.查询计算机系年龄在20岁以下的学生姓名。