SQL数据库习题及答案

SQL数据库习题及答案1.模型中,同一个关系中的不同属性,其属性名不能相同。

2.数据库系统由数据库、DBMS、DBA、支持数据库系统的硬件环境和操作系统环境及说明书组成3.计算机数据管理技术的发展可以划分为三个阶段,在某个阶段数据是以文件形式长期存储在辅助存储器中,程序和数据之间具有相对的独立性,数据不再属于某个特定的应用程序,数据可以重复使用,该阶段是文件管理阶段4.在数据库的三级体系结构中,数据库的模式对应于数据库的概念视图5.在数据库的三级体系结构中,数据的逻辑独立性是通过外模式-模式映射来实现的。

6.三层C/S结构包括客户机、应用服务器和数据库服务器三部分。

7.DDL是指数据描述语言,DML是指数据操纵-查询语言,DBMS是指数据库管理系统,DD是指数据字典。

8.数据库的三层模式结构分别是外模式、概念模式和存储模式。

9.数据的独立性包括物理独立性和逻辑独立性两个方面。

10.实体集之间的联系有三种,分别是一对一的联系,一对多的联系,多对多的联系11.试说明数据管理的数据库阶段的主要特点。

答:数据库管理的数据库阶段主要特点是:1、数据共享性;2、具有较高的数据与程序的独立性;3、便于对数据实行集中统一的控制。

12.试说明DBMS的组成。

答:DBMS是由一系列软件构成的复杂系统,一般来说DBMS 由下列三类软件组成:语言系统;控制数据库运行的程序;数据库维护程序;13.数据模型的三要素是什么?答:数据模型的三要素是数据结构、数据操作、数据的约束条件。

14.关系模型有什么特点?答:关系模型有什么特点:1、关系模型与非关系模型不同,它是建立在严格的数学概念基础上的;2、关系模型的概念单一,无论实体或实体之间的联系都用关系表示3、存取路径对用户透明。

4、关系必须是规范化的关系。

第二章关系数据库基本理论1.下列不属于关系代数运算的是 A 。

A.查询B.投影C.选择D.联结2.在关系数据模型中,利用关系运算对两个关系进行操作,得到的结果是B。

A.属性B.关系C.元组3.下列的C运算不是关系运算中的传统的集合运算。

A.并B.差C.投影D.交4.关系A中有5个属性,关系B中的7个属性,且关系A中有两个属性名与关系B中相同,那么关系A和关系B自然联结的运算结果有A属性。

A.10个B.12个C.8个D.无法进行自然连接运算6.在关系运算中,根据具有相同属性名的字段相同进行联结,且在联结结果中去掉重复属性,这样的运算是自然联结。

7.具有两个元组五个属性的关系和具有三个元组四个属性的关系的笛卡尔积,共有6元组,___9___属性。

8.从关系R1中挑选出符合条件F的元组的“姓名”和“年龄”字段,使用的关系代数表达式为π姓名,年龄(σF(R1))。

9.两个具有相同结构的关系R和S,其交运算是由既属于R又属于S的元组组成的集合。

10.从关系中找出满足给定条件的元组的操作称为选择运算。

11.在某数据库中的一个学生表,表中有一个字段“学号”能够惟一地区分每一个记录。

数据库中还有一个成绩表,表中也有一个“学号”字段,但不能惟一区分每条记录,此处的“学号”字段称为外部关键字。

12.专门的关系运算中的投影运算是对关系的垂直分解,它是在关系R中选择出若干个属性组成新的关系。

13.关系规范化的过程是通过关系中属性的分解和关系模式的分解来实现的。

关系规范化的条件可以分为几级,每级称为一个范式(Normal Form),记作nNF。

其中,n表示范式的级别,范式的级别越高条件越严格的数学定义。

14.造成关系修改麻烦的原因是关系范式级别低。

第三章实体-联系模型2.数据世界的记录对应信息世界的 B 。

A.实体集B.实体C.属性D.主关系键字3.下列 D 不是E-R模型的基本要素。

A.实体 B.属性 C.联系 D.外部关键字4.把E-R模型转换为关系模型时,实体之间多对多联系在关系模型中是通过建立新的关系来实现。

5.在E-R图中,用方框表示实体集,用椭圆表示属性,用菱形框表示联系。

6.对于E-R图中每个实体集,都应转换为一个关系,该关系应包括对应实体的全部属性,并应根据关系所表达的语义确定哪个属性或哪几个属性组作为“主关键字”。

7.在把E-R图转换为关系模型时,若两实体集之间是1:n联系,可将“一方”实体的主关键字纳入“n方”实体集对应的关系中作为“外部关键字”,同时把联系的属性也一并纳入 “n 方” 对应的关系中。

8.在把E -R 图转换为关系模型时,若两实体集之间是m :n 联系,必须对“联系” 单独建立一个关系 。

9.在把E -R 图转换为关系模型时,若两实体集之间是1:1联系,有 三 种转换方法。

10.一个图书馆借阅管理数据库要求提供下述服务。

(1)构造满足要求的E -R 图。

(2)根据E -R 图转换为等价的关系模式。

借书人(借书证号,姓名,单位)图书(书号,书名,数量,位置,出版社名) 出版社(出版社名,电报,电话,邮编,地址) 借阅(借书证号,书号,借书日期,还书日期)。

第四章 数据库设计2.局部E-R图不是逻辑设计第一阶段(分析用户需求)产生的. 3.数据流图的基本成分不包括 实体 .5.数据库系统的技术文档指的是 系统说明书、技术说明书和和使用说明书6.数据流图的主要成分有四个,分别是 数据流 、 加工 、 文件 、和 源点和终点 ,分别用 箭头 、 圆形 、 横线 、和 方框 表示。

7.数据库设计的逻辑设计阶段的概念模型设计可由两个步骤组成,分别是 局部E-R 模型设计 和 总体E-R 模型设计 。

8.数据字典产生于 数据流图 ,是对 数据流图 中的四个成分进行描述的产物。

9.数据库系统的技术文档包括 系统说明书 、 技术说明书 、和 使用说明书 。

n 图书借阅 借书人m 借书证号单 位姓 名书 名 数 量 书 号 nm出版社出版借书日期还书日期位 置邮 编地 址出版社名电报编号电 话10.数据库设计的特点是反复探寻,逐步求精。

第七章关系数据库标准语言-----SQL选择题1~9题使用的表7-7和表7-8所示。

表7-7 学生信息表(表名为STUDENT)学号姓名性别籍贯年龄980001 王吉兵男江苏22980002 张晓春女安徽21980003 左燕女江苏25980004 赵华男安徽22980005 李宁男山东20表7-8 选课信息表(表名为SKB)学号课号成绩980001 0001 98980002 0002 76980001 0002 80980002 0003 69980003 0001 75980003 0003 68980004 0001 89980005 0001 76980004 0002 65980003 0002 901.给出选课信息表(SKB)增加一行,值分别为“980005”、“0002”、93,使用的语句正确的是 B 。

B.INSERT INTO SKB VALUES(“980005”,“0002”,93)2.要选出平均成绩超过80分的学生的学号和平均成绩,下列正确的语句是 C 。

C.SELECT学号,AVG(成绩) AS 平均成绩 FROM SKBGROUP BY 学号 HAVING 平均成绩>=803.要求选出学生中平均成绩最高的人的学号、姓名和平均分,如何操作?SELECT TOP l STUDENT.学号,STUDENT.姓名,A VG(SKB.成绩)ASFROM STUDENT INNER JOIN SKB.DBFON STUDENT.学号=SKB.学号GROUP BY STUDENT.学号ORDERBY 3 DESC4.下列语句执行后,结果中将包含 A 条记录。

SELECT 课号,MAX(成绩) AS 最高成绩FROM SKB GROUP BY课号A.3 B.4 C.5 D.6 5.下列语句执行后,结果中将包含 A 条记录。

SELECT籍贯,MAX(年龄)AS最大年龄FROM STUDENTGROUP BY 籍贯HA VING 最大年龄>22 A.1 B.2 C.3 D.4 6.下列程序执行后,结果中将包含 4 条记录。

SELECT STUDENT.学号,STUDENT.姓名FROM STUDENT INNER JOIN SKBON STUDENT.学号=SKB.学号WHERE SKB.成绩BETWEEN 80 AND l 007.给所有的选修课号为”0001”的女生的该课成绩增加5分,使用的语句为?UPDATE SKB SET成绩=成绩+5 WHERE课号=”0001”AND学号IN (SELECT 学号FROM STUDENT WHERE性别=”女”)8.要给学生信息表(STUDENT)增加一个出生日期字段(日期型),如何操作?ALTER TABLE STUDENT ADD COLUMN 出生日期DATETIME9.创建一个名为RS的视图,用来显示所有学生的学号、姓名和平均成绩,语句为?CREATE VIEW RS ASSELECT STUDENT.学号,STUDENT.姓名,A VG(SKB.成绩) AS平均成绩WHERE STUDENT.学号=SKB.学号GROUP BY STUDENT.学号10.SQL是Struct Query Language 的缩写。

11.SQL定义表的命令是Create table 、修改表结构的命令是alter table 、删除表的命令是drop table .12.SELECT语句的HA VING子句一般跟在group by子句后面。

13.SQL语言中,实现数据控制功能的语句主要有grant 和revoke 。

合集下载

数据库SQL语句练习题含答案

数据库SQL语句练习题含答案

SQL语句练习练习5. 1. 2: 基于不断滚动的电影数据库的实例:Movie( 电影名title,拍摄年代year ,长度length, inColor ,制片厂名studioName, 制片人证书号producerC# )StarsIn(电影名movieTitle,拍摄年份movieYear ,影星名starName) MovieStar (姓名name,地址address,性别gender ,生日birthdate) MovieExec( 姓名name,地址address ,证书号cert # ,净资产netWorth ) Studio(姓名name, 地址address,总裁证书号presC# )请写出下列SQL 查询语句:* ( a) 找出米高梅制片公司(MGM studios)的地址。

SELECT address AS Studio_AddressFROM Studio WHERE name = 'MGM';( b) 找出桑德拉·布洛克( Sandra Bullock ) 的出生日期( birthdate) 。

SELECT birthdate AS Star_BirthdateFROM MovieStar WHERE name = 'Sandra Bullock';* ( c) 找出在1980 年拍摄过电影的所有影星, 或者拍摄过电影名中含有“Love”的电影的所有影星。

SELECT starName FROM StarsInWHERE movieYear = 1980 OR movieTitle LIKE '%Love%';( d) 找出净资产至少1 000 万美元的所有行政长官。

SELECT name AS Exec_NameFROM MovieExec WHERE netWorth >= 10000000;( e) 找出所有的男影星或者是住址中含有Malibu 的影星。

sql练习题及答案

sql练习题及答案

sql练习题及答案SQL练习题及答案SQL(Structured Query Language)是一种用于管理和操作关系型数据库的语言。

在数据库管理系统中,SQL被广泛应用于数据的查询、插入、更新和删除等操作。

掌握SQL语言对于数据库开发和数据分析非常重要。

在这篇文章中,我们将提供一些SQL练习题及其答案,帮助读者巩固和提升SQL的应用能力。

1. 查询员工表中所有员工的姓名和工资。

答案:```sqlSELECT 姓名, 工资 FROM 员工表;```2. 查询员工表中工资大于5000的员工的姓名和工资。

答案:```sqlSELECT 姓名, 工资 FROM 员工表 WHERE 工资 > 5000;```3. 查询员工表中工资在3000到5000之间的员工的姓名和工资。

答案:```sqlSELECT 姓名, 工资 FROM 员工表 WHERE 工资 BETWEEN 3000 AND 5000;```4. 查询员工表中姓"张"的员工的姓名和工资。

```sqlSELECT 姓名, 工资 FROM 员工表 WHERE 姓名 LIKE '张%';```5. 查询员工表中工资最高的员工的姓名和工资。

答案:```sqlSELECT 姓名, 工资 FROM 员工表 WHERE 工资 = (SELECT MAX(工资) FROM 员工表);```6. 查询员工表中每个部门的员工数量。

答案:```sqlSELECT 部门, COUNT(*) AS 员工数量 FROM 员工表 GROUP BY 部门;```7. 查询员工表中每个部门的平均工资。

答案:```sqlSELECT 部门, AVG(工资) AS 平均工资 FROM 员工表 GROUP BY 部门;```8. 查询员工表中工资高于部门平均工资的员工的姓名和工资。

答案:SELECT 姓名, 工资 FROM 员工表 WHERE 工资 > (SELECT AVG(工资) FROM 员工表 GROUP BY 部门);```9. 查询员工表中没有分配部门的员工的姓名和工资。

数据库sql课后练习题及答案解析

数据库sql课后练习题及答案解析

先创建下面三个表:(book表)(borrow表)(reader表)1) 找出姓李的读者姓名(NAME)和所在单位(COMPANY)。

2) 列出图书库中所有藏书的书名(BOOK_NAME)及出版单位(OUTPUT)。

3) 查找“高等教育出版社”的所有图书名称(BOOK_NAME)及单价(PRICE),结果按单价降序排序。

4) 查找价格介于10元和20元之间的图书种类(SORT),结果按出版单位(OU TPUT)和单价(PRICE)升序排序。

5) 查找书名以”计算机”开头的所有图书和作者(WRITER)。

6) 检索同时借阅了总编号(BOOK_ID)为和两本书的借书证号(READER_ID)。

##7)* 查找所有借了书的读者的姓名(NAME)及所在单位(COMPANY)。

8)* 找出李某所借所有图书的书名及借书日期(BORROW_DATE)。

9)* 无重复地查询2006年10月以后借书的读者借书证号(READER_ID)、姓名和单位。

##10)* 找出借阅了<FoxPro大全>一书的借书证号。

11) 找出与”赵正义”在同一天借书的读者姓名、所在单位及借书日期。

12) 查询2006年7月以后没有借书的读者借书证号、姓名及单位。

#13) 求”科学出版社”图书的最高单价、最低单价、平均单价。

##14)* 求”信息系”当前借阅图书的读者人次数。

#15) 求出各个出版社图书的最高价格、最低价格和总册数。

#16) 分别找出各单位当前借阅图书的读者人数及所在单位。

17)* 找出当前至少借阅了2本图书(大于等于2本)的读者姓名及其所在单位。

18) 分别找出借书人次数多于1人次的单位及人次数。

19) 找出藏书中各个出版单位的名称、每个出版社的书籍的总册数(每种可能有多册)、书的价值总额。

20) 查询经济系是否还清所有图书。

如果已经还清,显示该系所有读者的姓名、所在单位和职称。

附录:建表语句创建图书管理库的图书、读者和借阅三个基本表的表结构:创建BOOK:(图书表)CREATE TABLE BOOK (BOOK_ID int,SORT VARCHAR(10),BOOK_NAME VARCHAR(50),WRITER VARCHAR(10),OUTPUT VARCHAR(50),PRICE int);创建READER:(读者表)CREATE TABLE READER (READER_ID int,COMPANY VARCHAR(10),NAME VARCHAR(10),SEX VARCHAR(2),GRADE VARCHAR(10),ADDR VARCHAR(50));创建BORROW:(借阅表)CREATE TABLE BORROW (READER_ID int,BOOK_ID int,BORROW_DATE datetime)插入数据:BOOK表:insert into BOOK values(,'TP3/12','数据库导论','王强','科学出版社',17.90); insert into BOOK values(,'TP3/12','数据库导论','王强','科学出版社',17.90); insert into BOOK values(,'TP3/12','数据库导论','王强','科学出版社',17.90); insert into BOOK values(,'TP5/10','计算机基础','李伟','高等教育出版社',18.00);insert into BOOK values(,'TP3/12','FoxBASE','张三','电子工业出版社',23.60);insert into BOOK values(,'TS7/21','高等数学','刘明','高等教育出版社',20.00);insert into BOOK values(,'TR9/12','线性代数','孙业','北京大学出版社',20.80);insert into BOOK values(,'TR7/90','大学英语','胡玲','清华大学出版社',12.50);insert into BOOK values(,'TP4/13','数据库基础','马凌云','人民邮电出版社',22.50);insert into BOOK values(,'TP4/13','数据库基础','马凌云','人民邮电出版社',22.50);insert into BOOK values(,'TP4/13','数据库基础','马凌云','人民邮电出版社',22.50);insert into BOOK values(,'TP4/14','FoxPro大全','周虹','科学出版社',32.70);insert into BOOK values(,'TP4/14','FoxPro大全','周虹','科学出版社',32.70);insert into BOOK values(,'TP4/15','计算机网络','黄力钧','高等教育出版社',21.80);insert into BOOK values(,'TP4/15','计算机网络','黄力钧','高等教育出版社',2 1.80);READER表:insert into reader values(111,'信息系','王维利','女','教授','1号楼424'); insert into reader values(112,'财会系','李立','男','副教授','2号楼316 ');insert into reader values(113,'经济系','张三','男','讲师','3号楼105'); insert into reader values(114,'信息系','周华发','男','讲师','1号楼316'); insert into reader values(115,'信息系','赵正义','男','工程师','1号楼224 ');insert into reader values(116,'信息系','李明','男','副教授','1号楼318 ');insert into reader values(117,'计算机系','李小峰','男','助教','1号楼214 ');insert into reader values(118,'计算机系','许鹏飞','男','助工','1号楼216 ');insert into reader values(119,'计算机系','刘大龙','男','教授','1号楼318 ');insert into reader values(120,'国际贸易','李雪','男','副教授','4号楼506');insert into reader values(121,'国际贸易','李爽','女','讲师','4号楼510 ');insert into reader values(122,'国际贸易','王纯','女','讲师','4号楼512 ');insert into reader values(123,'财会系','沈小霞','女','助教','2号楼202'); insert into reader values(124,'财会系','朱海','男','讲师','2号楼210'); insert into reader values(125,'财会系','马英明','男','副教授','2号楼212 ');BORROW表:insert into borrow values(112,,'3-19-2006');insert into borrow values(125,,'2-12-2006');insert into borrow values(111,,'8-21-2006');insert into borrow values(112,,'3-14-2006');insert into borrow values(114,,'10-21-2006');insert into borrow values(120,,'11-2-2006');insert into borrow values(120,,'10-18-2006');insert into borrow values(119,,'11-12-2006');insert into borrow values(112,,'10-23-2006');insert into borrow values(115,,'8-21-2006');insert into borrow values(118,,'9-10-2006');现有关系数据库如下:数据库名:图书借阅管理系统读者表(读者编号 char(6),姓名,性别,年龄,单位,身份证号,职称)图书表(图书编号char(6),图书名称,出版社,作者)借阅表(读者编号,图书编号,借阅时间)用SQL语言实现下列功能的sql语句代码。

数据库教程(SQLServer)课后习题及答案

数据库教程(SQLServer)课后习题及答案

习题13、简述数据库系统的组成。

答:数据库系统一般由数据库、数据库管理系统(及其开发工具)、数据库管理员(DataBase Administrator ,DBA )和用户组成。

4、试述数据库系统的三级模式结构。

这种结构的优点是什么?答:数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成,同时包含了二级映像,即外模式/模式映像、模式/内模式映像,如下图所示。

数据库应用1……外模式A 外模式B 模式应用2应用3应用4应用5……模式外模式/模式映像模式/内模式映像数据库系统的这种结构具有以下优点:(1)保证数据独立性。

将外模式与模式分开,保证了数据的逻辑独立性;将内模式与模式分开,保证了数据的物理独立性。

(2)有利于数据共享,减少了数据冗余。

(3)有利于数据的安全性。

不同的用户在各自的外模式下根据要求操作数据,只能对限定的数据进行操作。

(4)简化了用户接口。

按照外模式编写应用程序或输入命令,而不需了解数据库全局逻辑结构和内部存储结构,方便用户系统。

5、什么是数据的物理独立性与逻辑独立性?并说明其重要性。

答:(1)数据的物理独立性是指数据的物理结构(包括存储结构、存取方式等)的改变,存储设备的更换,物理存储的更换,存取方式改变等都不影响数据库的逻辑结构,从而不致引起应用程序的变化。

(2)数据的逻辑独立性是指数据库总体逻辑结构的改变,如修改数据模式,增加新的数据类型、改变数据间联系等,不需要相应修改应用程序。

(3)数据的独立性使得数据库中数据独立于应用程序而不依赖于应用程序,也就是说数据的逻辑结构、存储结构与存取方式的改变不影响应用程序。

相应的,数据的独立性也使得应用程序的编制不再依赖于数据的物理和逻辑结构,提高了应用程序的可移植性与鲁棒性。

从理论上说,数据的独立性可以使数据的组织和应用程序的编制完全分离。

8、什么是数据模型?答:数据模型(Data Model )是一种抽象模型,是对现实世界数据特征的抽象。

(完整版)SQL复习题(附部分答案)

(完整版)SQL复习题(附部分答案)

一、单选题1.根据关系数据基于的数据模型——关系模型的特征判断下列正确的一项:(___)A.只存在一对多的实体关系,以图形方式来表示。

B.以二维表格结构来保存数据,在关系表中不允许有重复行存在。

C.能体现一对多、多对多的关系,但不能体现一对一的关系。

D.关系模型数据库是数据库发展的最初阶段。

答案[B]2、在“连接”组中有两种连接认证方式,其中在(___)方式下,需要客户端应用程序连接时提供登录时需要的用户标识和密码。

A、Windows身份验证B、SQL Server 身份验证C、以超级用户身份登录时D、其他方式登录时答案[B]3、关系数据库中,主键是(___),当运用Transact-SQL语句创建主键时,可以是(__)。

⑴ A、为标识表中唯一的实体 B、创建唯一的索引,允许空值C、只允许以表中第一字段建立D、允许有多个主键的⑵ A、create table table1(column1 char(13) not null primary key,column2 int not on primary key;B、alter table table1 with nocheck addconstraint [PK_table1] primary key nonclustered ( column1) on primary;C、alter table table1 column1 primary key ;答案[ A C]4、视图是一种常用的数据对象,可以简化数据库操作,当使用多个数据表来建立视图时,不允许在该语句中包括(___)等关键字。

A、ORDER BY,COMPUTEB、ORDER BY,COMPUTE,COMPUTR BYC、ORDER BY,COMPUTE BY,GROUP BYD、GROUP BY,COMPUTE BY答案[B ]5、在Transact-SQL语法中,SELECT语句的完整语法较复杂,但至少包括的部分(_1_),使用关键字(_2_)可以把重复行屏蔽,将多个查询结果返回一个结果集合的运算符是(_3__),如果在SELECT语句中使用聚合函数时,可以在后面使用(_4_)。

(完整版)sql练习题+答案

(完整版)sql练习题+答案

(一) 新建以下几个表student(学生表):其中约束如下:(1)学号不能存在相同的(2)名字为非空(3)性别的值只能是’男’或’女’(4)系包括这几个:信息系,计算机科学系,数学系,管理系,中文系,外语系,法学系(5)出生日期为日期格式(6)年龄为数值型,且在0~100之间cs(成绩表):其中约束如下:(1)sno和cno分别参照student和course表中的sno,cno的字段(2)cj(成绩)只能在0〜100之间,可以不输入值create table cs (sno smallint not null referencesstudent ( sno ), ----定义成外键cno smallint not null referencescourse ( cno ), ----定义成外键cj smallint constraint e check (cj between0 and 100 ),---- 检查约束一—j(成绩)只能在~100之间,可以不输入值constraint f primary key ( sno , cno )---- 定义学生学号和课程号为sc表的主键)course(课程表)其约束如下:(1)课程号(cno)不能有重复的(2)课程名(cname非空(三)针对学生课程数据库查询(1)查询全体学生的学号与姓名。

Select sno , sname from student(2)查询全体学生的姓名、学号、所在系,并用别名显示出结果。

(3)查询全体学生的详细记录。

select * from student(4)查全体学生的姓名及其出生年份。

select sname , birth from student(5)查询学校中有哪些系。

select distinct dept from student(6)查询选修了课程的学生学号。

select sno from cs where eno is not null(7)查询所有年龄在20岁以下的学生姓名及其年龄。

数据库中SQL查询语句习题含答案

查询问题:设教学数据库Education 有三个关系: 学生关系S (SNO ,SNAME ,AGE ,SEX ,SDEPT );学习关系SC (SNO ,CNO ,GRADE );课程关系C (CNO ,CNAME ,CDEPT ,TNAME )(1)检索计算机系的全体学生的学号,姓名和性别;(2)检索学习课程号为C2的学生学号与姓名; (3)检索选修课程名为“DS ”的学生学号与姓名; (4)检索选修课程号为C2或C4的学生学号; (5)检索至少选修课程号为C2和C4的学生学号; (6)检索不学C2课的学生姓名和年龄; (7)检索学习全部课程的学生姓名;(8)查询所学课程包含学生S3所学课程的学生学号。

(1)检索计算机系的全体学生的学号,姓名和性别;SELECT Sno ,Sname ,Sex FROM SWHERE Sdept =’CS ’;(2)检索学习课程号为C2的学生学号与姓名;(3)检索选修课程名为“DS ”的学生学号与姓名 本查询涉及到学号、姓名和课程名三个属性,分别存放在S 和C 表中,但S 和C 表没有直接联系,必须通过SC 表建立它们二者的联系。

C → SC → S基本思路:(1)首先在C 表中找出“DS ”课程的课程号Cno ;(2)然后在SC 表中找出Cno 等于第一步给出的Cno 集合中的某个元素Cno ;(3)最后在S 关系中选出Sno 等于第二步中Sno 集合中某个元素的元组,取出Sno 和Sname 送入结果表列。

SELECT Sno ,Sname FROM SWHERE Sno IN (SELECT Sno FROM SCWHERE Cno IN (SELECT Cno FROM CWHERE Cname=‘DS ’));(4)检索选修课程号为C2或C4的学生学号;SELECT Sno FROM SCWHERE Cno=‘C2’ OR Cno=‘C4’;(5)检索至少选修课程号为C2和C4的学生学号; SELECT SnoFROM SC X ,SC YWHERE = AND =‘C2’ AND =‘C4’ ;(6)检索不学C2课的学生姓名和年龄;(7)检索学习全部课程的学生姓名;在表S 中找学生,要求这个学生学了全部课程。

学生选课数据库SQL语句练习题(详细分解答案)

一、设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。

四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表(一)~表(四)所示。

用SQL语句创建四个表并完成相关题目。

表1-1数据库的表结构表(一)Student属性名数据类型可否为空含义Sno Char(3)否学号(主键)Sname Char(8)否学生姓名Ssex Char(2)否学生性别Sbirthday datetime可学生出生年月Class Char(5)可学生所在班级表(二)Course属性名数据类型可否为空含义Cno Char(5)否课程号(主键)Cname Varchar(10)否课程名称Tno Char(3)否教师编号(外键)表(三)Score属性名数据类型可否为空含义Sno Char(3)否学号(外键)Cno Char(5)否课程号(外键)Degree Decimal(4,1)可成绩主码:Sno+ Cno表(四)Teacher含义属性名数据类型可否为空Tno Char(3)否教师编号(主键)Tname Char(4)否教师姓名Tsex Char(2)否教师性别Tbirthday datetime可教师出生年月Prof Char(6)可职称Depart Varchar(10)否教师所在部门表1-2数据库中的数据表(一)StudentSno Sname Ssex Sbirthday class95033108曾华男1977-09-01105匡明男1975-10-950310295033107王丽女1976-01-2395033101李军男1976-02-20109王芳女1975-02-950311095031103陆君男1974-06-03表(二)CourseCno Cname Tno3-105计算机导论8253-245操作系统8046-166数字电路8569-888高等数学831表(三)ScoreSno Cno Degree1033-245861053-245751093-245681033-105921053-105881093-105761013-105641073-105911083-105781016-166851076-166791086-16681表(四)TeacherTno Tname Tsex Tbirthday Prof Depart804李诚男1958-12-02副教授计算机系856张旭男1969-03-12讲师电子工程系825王萍女1972-05-05助教计算机系831刘冰女1977-08-14助教电子工程系-- 1、查询Student表中的所有记录的Sname、Ssex和Class列。

SQL数据库期末复习题答案-子良

SQL数据库期末复习题答案-子良学生期末综合练习题班级:14电商2班序号:25号姓名:莫子良一、选择题:(1) 下面是创建表的命令:create table 客户信息(编号Int Primary key,姓名varchar(10) Not NULL ,)关于Primary key的描述,那个是正确的(D)A、指定惟一键B、指定检查约束C、指定标识D、指定主键(2) 下面哪个约束,具有自动地生成字段值的是(D)A、Identity标识B、外键约束C、惟一键约束D、主键约束(3) 下面是创建表的命令:create table 客户信息(编号Int Primary key,姓名varchar(10) UNIQUE ,)关于UNIQUE的描述,那个是正确的(A)A、指定惟一键B、指定检查约束D、指定主键(4) 下面的关于约束的说法,哪个是不正确(D)A、主键、标识列是保证实体完整性。

B、通过CHECK约束、规则、默认值和非空属性可以保证域完整性。

C、参照完整性定义了同一个关系数据库中,不同表中列之间的关系。

D、主键列不能为空值,并且一个表可以有多个主键。

(5) 下面是创建表的命令:create table 客户信息(编号Int Primary key,姓名varchar(10) Not NULL ,工作时间DateTime default getdate())关于default的描述,那个是正确的(C)A、指定惟一键B、指定标识C、指定默认值D、指定主键(6) 下面是创建表的命令:create table 客户信息(编号Int Primary key Identity(1,1),姓名varchar(10) Not NULL ,)关于Identity的描述,那个是正确的(C)A、指定惟一键B、指定检查约束D、指定主键(7) 下面哪个约束,可以让字段能为空的是(C)A、Identity标识B、外键约束C、惟一键约束D、主键约束(8) 下面的说法,哪个是不正确的(C)A、一个表中只能定义一个主键B、每个表可以有多个惟一键C、每个表中,可以定义多个主键D、外键列可以由一列或多列组成(9) 关于SQL Server的安全模型,下面说法不正确的是(A)A、用户只要登录到SQL Server服务器实例,就可以访问数据库了B、S QL Server有混合身份验证和仅windows两种验证模式C、一个登录名要访问哪个数据库,需要将登录名映射到该数据库中D、一个登录名可以与多个数据库建立映射(10) 下面的SQL语句中,完全正确的是:(C)A、Declare @dispStr Varchar(20)='这是一个局部变量'Print @dispStrB、Declare @dispStr Varchar(20),@numInt Intset @dispStr='这是一个局部变量',@numInt=6C、Declare @dispStr Varchar(20),@num Int=6set @dispStr='这是一个局部变量'Print @dispStrD、Declare @dispStr Varchar(20),@numInt IntSelect @dispStr='这是一个局部变量',@numInt=6二、判断下列语句是否正确1)“南京大学”是SQL中的字符串常量答:不是,“”中的常量不属于字符串常量,应使用‘’号2)‘328.59’是SQL中的实型常量。

SQL数据库管理与开发》试题及习题参考答案M

《SQL数据库管理与开发教程与实训》试题(M卷)王鹏老师一、单项选择题(每小题1分,共10分)1. 下列四项中,不属于数据库特点的是( )。

A.数据共享B.数据完整性C.数据冗余很高D.数据独立性高2. 反映现实世界中实体及实体间联系的信息模型是( )。

A.关系模型B.层次模型C.网状模型D.E-R模型3. 下列四项中,不正确的提法是( )。

A.SQL语言是关系数据库的国际标准语言B.SQL语言具有数据定义、查询、操纵和控制功能C.SQL语言可以自动实现关系数据库的规范化D.SQL语言称为结构查询语言4. 在SQL中,SELECT语句的"SELECT DISTINCT"表示查询结果中 ( )A.属性名都不相同B.去掉了重复的列C.行都不相同D.属性值都不相同5.在数据操作语言(DML)的基本功能中,不包括的是 ( )A.插入新数据B.描述数据库结构C.修改数据D.删除数据6. 在采用客户机/服务器体系结构的数据库应用系统中,应该将用户应用程序安装在 ( )A.客户机端B.服务器端C.终端D.系统端7、实体型学生与任课教师之间具有()联系。

A 一对一B 一对多C 多对一D 多对多8. 数据库系统的日志文件用于记录下述哪类内容()A) 程序运行过程 B) 数据查询操作C) 程序执行结果 D) 数据更新操作9. 数据库管理系统的英文缩写是()。

A.DB B.DBS C.DBA D.DBMS10. SQL语言中,删除一个表的命令是( )A. DELETEB. DROPC. CLEARD. REMOVE二、判断题(每空1分,共10分)1. 在查询分析器中执行SQL语句的快捷键是F1。

2. 计算ASCII('also')结果为97。

3. UNION运算符是用于将两个或多个检索结果合并成一个结果。

4. 在事务中包含create database语句吗?5. Lock权限不是数据库的访问权限。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档