SQL第6周数据库上机作业答案
2023 SQL 数据库查询练习题及答案

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的查询语句表达下列查询:1.检索王丽同学所学课程的课程号和课程名。
select Cno ,Cname from c where Cno in(select cno from sc where sno in (select sno from s where sname='王丽' ))2.检索年龄大于23岁的男学生的学号和姓名。
select sno,sname from swhere sex='男' and age>233.检索‘c01’课程中一门课程的女学生姓名select sname from swhere sex='女' and sno in(select sno from sc where cno='c01')4.检索s01同学不学的课程的课程号。
select cno from cwhere cno not in (select cno from sc where sno ='s01')5.检索至少选修两门课程的学生学号。
select sc.sno from s,scwhere s.sno=sc.snogroup by sc.snohaving count(o)>=26.每个学生选修的课程门数。
解法一:select so.sno sno,ount,s.snamefrom(select sc.sno sno,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno ) so,swhere s.sno=so.sno解法二:select sc.sno sno,s.sname,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno,sname7.求选修C4课程的学生的平均分。
sql数据库原理习题集(带答案)

#include <stdio.h>void main(){int b,i,c=0,a[30];scanf("%d",&b);while(b!=0){i=b%2;a[c]=i;c++;b=b/2;}for(;c>=1;c--){printf("%d",a[c-1]);}printf("\n");}数据库原理模拟试卷(1)一、项选择题(在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
每小题1分,共15分)1.数据库系统的体系结构是(C )A、两级模式结构和一级映象B、三级模式结构和一级映象C、三级模式结构和两级映象D、三级模式结构和三级映象2.SQL语言称为(C )。
A、结构化定义语言B、结构化控制语言C、结构化查询语言D、结构人操纵语言3.在视图上不能完成的操作是(D)。
A、在视图上定义新的视图B、查询操作C、更新视图D、在视图上定义新的基本表4.数据库的并发操作有可能带来的三个问题中包括(D)。
A、数据独立性降低B、无法读出数据C、权限控制D、丢失更新5.当前应用最广泛的数据模型是(B)。
A、ER模型B、关系模型C、网状模型D、层次模型16.现有一个关系:借阅(书号、书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本。
则该关系模式的码是(D )。
A、书号B、读者号C、书号+读者号D、书号+读者号+借期7.要保证数据库物理数据独立性,需要修改的是( B )A.模式B.模式与内模式的映射C.模式与外模式的映射D.内模式8.下列四项中,不属于数据库特点的是( D )A.数据共享B.数据完整性C.数据冗余较小D.数据独立性低9.数据库中存储的是( D )A.数据B.数据模型C.数据之间的联系D.数据以及数据之间的联系10.反映现实世界中实体及实体间联系的信息模型是( D )A.关系模型B.层次模型C.网状模型D.E—R模型11. 五种基本关系代数运算是( a)A. ∪,-,×,π和σB. ∪,-,∞,π和σC. ∪,∩,×,π和σD. ∪,∩,∞,π和σ12.数据库保护的几个方面中,不包括的是( A )A.控制数据冗余B.并发控制C.完整性保护D.故障恢复13.下列四项中,关系规范化程度最高的是关系满足( B )A.非规范关系B.第三范式C.第二范式D.第一范式14.单个用户使用的数据视图的描述称为(a )A.外模式B.概念模式C.内模式D.存储模式15. 子模式DDL用来描述( b )A.数据库的总体逻辑结构B.数据库的局部逻辑结构C.数据库的物理存储结构D.数据库的概念结构二、填空题(每空1分,共15分)1、在三大传统的数据模型中,具有严格的数学理论基础的是_关系模型___。
sql数据库参考答案

1、反映现实世界中实体及实体间联系的信息模型是( )。
【正确答案: D】A 关系模型B 层次模型C 网状模型D E-R模型2.在数据操作语言(DML)的基本功能中,不包括的是( )【正确答案: B】A 插入新数据B 描述数据库结构C 修改数据D 删除数据3.扩展名为mdf的文件是【正确答案: A】A 主数据文件B 次数据文件C 日志文件D 项目文件4.下列四项中,不属于数据库特点的是( ) 【正确答案: C】A 数据共享B 数据完整性C 数据冗余很高D 数据独立性高5.数据库管理系统的英文缩写是()。
【正确答案: D】A DBB DBSC DBAD DBMS6.视图是从一个或多个表中或视图中导出的()【正确答案: A】A 表B 查询C 报表D 数据7. update语句来更新表中的数据,一次可以更新( ).【正确答案: D】A 一行B 多行C 一行和多行D 多个8.以下不属于聚合函数的是()【正确答案: A】)A insert ;B max()C min()D sum()9.不是SQL Server中所包含的约束种类的是() 【正确答案: A】A 关键字约束C 唯一性约束D 默认约束10.在SQL中,SELECT语句的"SELECT DISTINCT"表示查询结果中( )【正确答案: B】A 属性名都不相同B 去掉了重复的数据C 行都不相同D 属性值都不相同11.在数据操作语言(DML)的基本功能中,不包括的是( )【正确答案: B】A 插入新数据B 描述数据库结构C 修改数据D 删除数据12. DELETE语句来删除表中的数据,一次可以删除()【正确答案: c】A 一行B 多行C 一行和多行D 多个13.视图是从一个或多个表或试图中导出的()【正确答案: C】A 报表B 查询C 表D 数据14.()包含用于恢复数据库的日志信息。
【正确答案: B】A 数据库文件;B 事物日志文件;C 文件组;D 次文件组15.下列运算符中表示一个或多个任意字符的是( ).【正确答案: B】A *B %C LIKED _16.()是SQL Server中最重要的管理工具【正确答案: A】A 企业管理器B 查询分析器C 服务管理器D 事件探察器17.修改和删除数据库中数据的语句。
SQL数据库题库及答案

一、单项选择题,请将正确答案填在括号里。
1、()是位于用户与操作系统之间的一层数据管理软件.A、数据库管理系统B、数据库系统C、数据库D、数据库应用系统2、要想使SQL Server2000数据库管理系统开始工作,必须首先启动()。
A、数据导入和导出程序B、查询分析器C、网络实用工具D、SQL Server服务器3、SQL Server 的登录账户信息保存在()数据库中。
A、masterB、modelC、 msdbD、tempdb4、以下哪个数据库角色中拥有可以执行所有数据库角色的活动的权限? ( )A、publicB、db_ownerC、db_security adminD、db_access admin5、下列关于数据库的数据文件叙述错误的是()。
A 、创建数据库时必须指定数据文件B 、创建数据库时, PRIMARY 文件组中的第一个文件为主数据文件C 、一个数据库可以有多个数据文件D 、一个数据库只能有一个主数据文件6、创建约束的命令是()。
A、CREATE TABLEB、ALTER CONSTRAINTC、ALTER TABLED、ALTER COLUMN7、下列有关批的叙述中正确的是()。
A、批是一起提交处理的一组语句B、通常用GO来表示一个批的结束C、不能在一个批中引用其它批定义的变量D、批可长可短,在批中可以执行任何T-SQL语句8、下面关于聚集索引和非聚集索引说法正确的是()。
A、每个表只能建立一个非聚集索引B、非聚集索引需要较多的硬盘空间和内存C、一张表上不能同时建立聚集和非聚集索引D、一个复合索引只能是聚集索引9、下列命令不能执行的是()。
A、 SELECT * FROM [select]B、 SELECT * FROM @MyTableC、 SELECT * FROM [MyTable]D、 SELECT * FROM MyTable10、并发操作会带来的数据不一致性有()。
sql数据库习题与答案

sql数据库习题与答案SQL数据库习题与答案SQL(Structured Query Language)是一种用于管理关系型数据库的标准化语言。
在数据库管理系统中,SQL可以用于执行各种操作,如插入、更新、删除和查询数据。
对于学习SQL的人来说,练习SQL数据库习题是非常重要的。
下面将为大家提供一些常见的SQL数据库习题以及相应的答案。
1. 查询所有学生的信息答案:SELECT * FROM students;2. 查询所有学生的姓名和年龄答案:SELECT name, age FROM students;3. 查询所有学生的姓名,并按照年龄从小到大进行排序答案:SELECT name FROM students ORDER BY age;4. 查询学生表中年龄大于18岁的学生信息答案:SELECT * FROM students WHERE age > 18;5. 查询学生表中姓“张”的学生信息答案:SELECT * FROM students WHERE name LIKE '张%';6. 查询学生表中的姓名和对应的课程名称答案:SELECT , FROM students INNER JOIN course ON students.course_id = course.id;7. 查询学生表中每个班级的学生人数答案:SELECT class, COUNT(*) FROM students GROUP BY class;通过以上SQL数据库习题与答案的练习,可以帮助大家更好地理解和掌握SQL语言的基本操作和常用查询。
同时,也可以帮助大家提升解决实际问题的能力,为今后的数据库管理工作打下坚实的基础。
希望大家能够认真对待SQL数据库习题,不断提升自己的技能水平。
2023 SQL 数据库管理练习题及答案

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数据库操作复习 题集附答案

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的学生的姓名和课程名称。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二次(第6周)上机作业
一、用T-SQL语句在E:\DATA\文件夹中创建一个教师信息数据库teacher,该数据库包含:(界面方式也要会)
1、一个主数据文件逻辑名‘teacherdata1 ’,
物理名‘E:\DATA\tdata1.mdf ’,
初始容量1MB,最大容量10MB,每次增长量为15%。
2、一个辅助数据文件逻辑名‘teacherdata2 ’
物理名‘E:\DATA\tdata2.ndf ’,
初始容量2MB,最大容量15MB,每次增长量为2MB。
3、两个数据文件不单独创建文件组,即使用默认的PRIMARY组;
4、一个事务日志文件逻辑名‘teacherlog’物理名‘E:\DATA\teacherlog.ldf ’,初始容量500KB,最大容量不受限制,每次增长量为500KB。
先确认E:\DATA\文件夹已创建,
CREATE DATABASE teacher
ON PRIMARY
( NAME = teacherdata1 ,
FILENAME = 'E:\DATA\tdata1.mdf' ,
SIZE =5MB ,
MAXSIZE= 10 ,
FILEGROWTH = 15%
) ,
( NAME = teacherdata2 ,
FILENAME = 'E:\DATA\tdata2.ndf' ,
SIZE = 2 ,
MAXSIZE= 15 ,
FILEGROWTH = 2MB
)
LOG ON /* 创建事务日志文件*/
( NAME = teacherlog ,
FILENAME = 'E:\DATA\teacherlog.LDF',
SIZE = 500 KB ,/* 初始容量,KB单位不能省略*/
MAXSIZE = UNLIMITED ,/* 日志文件最大容量不受限制*/
FILEGROWTH = 500 KB/* 增长量KB 不能省略*/ )
二、修改数据库“teacher”,增加两个文件组,文件组名:Gteacher1和Gteacher2。
ALTER DATABASE teacher
Add filegroup Gteacher1
ALTER DATABASE teacher
Add filegroup Gteacher2
三、增加一个辅助数据文件,文件逻辑名teacherdata3,物理名为:E:\data\ teacherdata3.ndf’,初始大小为20MB,最大100MB,增量10MB,归属于文件组“Gteacher1”。
Alter database teacher
Add file
( NAME = teacherdata3,
FILENAME = 'E:\data\teacherdata3.ndf',
SIZE = 20MB ,
MAXSIZE = 100,
FILEGROWTH = 10MB)
to filegroup Gteacher1
四、增加一个事物日志文件teacherlog1,物理名‘E:\DATA\teacherlog1.ldf ’,大小为30MB,最大大小为50MB,每次增长10MB。
Alter database teacher
Add LOG file
( NAME =teacherlog1,
FILENAME = 'E:\DATA\teacherlog1.ldf',
SIZE = 30MB ,
MAXSIZE = 50MB ,
FILEGROWTH = 10MB )
五、删除文件组Gteacher2。
ALTER DATABASE teacher
Remove filegroup Gteacher2
六、删除题四中建立的日志文件teacherlog1.ldf
ALTER DATABASE teacher
remove file teacherlog1
七、将数据库teacher的名称修改为teacheringsystem。
alter database teacher
modify name=teacher-system
八、分离数据库teacheringsystem,再附加数据库teacheringsystem。
九、使用Transact-SQL语言删除数据库teacheringsystem。
(界面方式也要会)
drop database teacheringsystem。