关系代数及SQL语言的习题

合集下载

数据库练习题

数据库练习题

一、关系运算1、设有两个关系R(A,B)和S(B,C),请写出与下面关系代数表达式等价的SQL语句。

πB(R) -πB(σc=`C56`(S))2、已知关系R、S如下所示,以表的形式给出下列运算结果。

(1)σX=Z(R ╳ S)已知关系模式如下:学生:S(Sno,Sname,Ssex,Sage,Sdept) 对应学生的学号,姓名,性别,年龄,系;课程:C(Cno,Cname,Tname) 对应课程的课程号,课程名,授课教师名字;学生选课:SC(Sno,Cno,Grade)对应学生选修课程的成绩。

3、检索至少选修两门课程的学生学号及姓名。

4、查询王力同学不学课程的课程名。

5、查询既选修了课程1也选修了课程2的学生学号。

6、检索全部学生都选修的课程的课程号与课程名。

7、查询刘宏老师所授课程的每门课程的学生平均成绩。

8、为“三建”工程项目建立一个供应情况视图,包括SNO、PNO、QTY。

9、试修改Student表结构,实现学生性别取值为‘男’,‘女’的约束。

答案:1、SELECT BFROM RWHERE B NOT IN(SELECT BFROM SWHERE C=`C56`);2、(bebb,cccc) ,(ccc)3、检索至少选修两门课程的学生学号及姓名。

select sno,sname from student where sno in(select sno from scgroup by snohaving count(*)>=2);4、查询王力同学不学课程的课程名。

SELECT CNAME FROM CWHERE NOT EXISTS(SELECT*FROM SCWHERE O=O AND SNO =(SELECT SNO FROM STUDENT WHERE SNAME=’王力’));5、查询既选修了课程1也选修了课程2的学生学号。

SELECT SnoFROM SCWHERE Cno='1' AND Sno IN(SELECT SnoFROM SCWHERE Cno='2');6、检索全部学生都选修的课程的课程号与课程名。

第2章关系代数补充作业及答案(选做)

第2章关系代数补充作业及答案(选做)

关系代数补充习题(摘自数据库系统导论)单项选择:1. 若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为________。

(1)主码(2)候选码(3)主属性(4)外码2.________由数据结构、关系操作集合和完整性约束三部分组成。

(1)关系模型(2)关系(3)关系模式(4)关系数据库3.SQL 语言属于________。

(1)关系代数语言(2)元组关系演算语言(3)域关系演算语言(4)具有关系代数和关系演算双重特点的语言4.关系演算是用________来表达查询要求的方式。

(1)谓词(2) 关系的运算(3)元组(4)域5.实体完整性要求主属性不能取空值,这一点可以通过________来保证。

(1)定义外码(2)定义主码(3)用户定义的完整性(4)由关系系统自动6.一组具有相同数据类型的值的集合称为________。

(1)关系(2)属性(3)分量(4)域7.在一个关系中,不能有相同的________。

(1)记录(2)属性(3)分量(4)域8.关系是________。

(1)型(2)静态的(3)稳定的(4)关系模型的一个实例9.所谓空值就是________的值。

(1)数值0 (2)空的字符串(3)未知的值(4)任何值10.集合R 与S 的差表示为________。

(1){t|t∈R∨t∈S} (2){t|t∈R∧フt∈S} (3) {t|t∈R∧t∈S}(4) {trts|tr∈R ∧ts∈S}问答题2.1 本章中,我们声称并、交、积和(自然)连接都具有交互性和结合性。

证明之。

2.2 在Codd 最初定义的八个操作符中,并、差、积、选择和投影可以被认为是基本的。

试用这五种基本操作来表示自然连接、交和除。

2.3 如果A 和B 没有共同的属性,则A JOIN B 等价于A TIMES B。

对其进行证明。

如果A 和B 有相同的表头,则上述表达式等价于什么?2.4 证明2.2 中提到的五个基本操作符是基本的(证明任意一个不能被其余四个来表示)。

SQL练习题,非题库

SQL练习题,非题库

SQL练习题,非题库选择题1. 取出关系中的某些列,并消去重复的元组的关系运算称为(投影运算)。

2. 在学生数据库中,用SQL语句列出所有女生的姓名,应该对学生关系进行(选择和投影)操作。

3. 公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是(多对一)。

4. 在一个关系中,不能有相同的(属性)。

5. (数据库管理系统)是位于用户与操作系统之间的一层数据管理软件。

6. 数据库系统不仅包括数据库本身,还要包括相应的硬件,软件和(各类相关人员)。

7. SQL语言属于(据有关系代数和关系演算双重特点的语言)。

8. SQL Server采用的体系结构是(单进程、多线程)。

9. SQL语言是(结构化查询语言)。

10.SQL语言最主要功能是(数据查询)。

11.SQL Server2005在安装之前,应注意的事项是(SQL Server2005在安装之前,必须在操作系统级启用TCP/IP)。

12.下列关于身份验证模式叙述正确的是(只有Windows的当前用户才可选择Windows身份验证模式)。

13.在连接SQL Server时需要提供用户名和密码的身份验证模式是(SQL Server身份验证)。

14.在连接到数据库引擎时,有两种连接认证方式,其中在(SQL Server身份验证)方式下,需要客户端提供登录时需要的用户名和密码。

15.下列(pubs)不是SQL Server2005的系统数据库。

16.关于数据库事务日志文件叙述错误的是(如果未指定事务日志文件的增长量,则文件大小保持不变)。

17.每个数据库有且只能有一个(主数据文件)。

18.下面(队列、约束)不是SQL Server2005数据库对象。

19.如果数据库中的数据量非常大,除了将数据存储在主数据文件中,还可以将一部分数据存储在(次数据文件)。

20.用以交互地设计和测试T-SQL语句的是(查询命令窗口)。

SQL查询习题及答案

SQL查询习题及答案

36.设教学用的四个基本表(S,C,T,SC)(2)查询年龄大于23岁的女同学的学号和姓名select 姓名,学号from swhere 性别='女' and 年龄>23(3)查询至少选修了刘老师所讲授课程中的一门课程的女同学姓名select s.姓名from s,scwhere s.性别='女'and s.学号=sc.学号and sc.课程编号in(select c.课程编号from c,twhere c.教师编号=t.教师编号and t.姓名='刘%')(4)查询至少选修了2门课程的学生学号select sc.学号from scgroup by 学号having count(课程编号)>2(5)查询全部学生都选修的课程号与课程名select c.课程编号,c.课程名称from c,scwhere sc.课程编号=c.课程编号and sc.学号=(select distinct s.学号from s)(6)计算机系每个教师讲授的课程号select t.教师编号,课程编号from c,twhere t.所在系='计算机系(7)查询没有选修过任何一门课程的学生的学号select s.学号from swhere s.学号not in(select distinct sc.学号from sc)(10)统计个系教师的人数select count (教师编号)from tgroup by 所在系(11)统计出教师人数超过10人的系的名称select t.所在系from tgroup by 所在系having count(教师编号)>10(12)在选课表SC中查询成绩为NULL的学生的学号和课程号select 学号课程编号from scwhere 成绩='NULL'(13)姓王的同学的年龄、姓名、选课名称、成绩select 年龄,姓名,课程名称,成绩from s,c,scwhere s.学号=sc.学号and c.课程编号=sc.课程编号and s.姓名='王%'(14)查询年龄大于女同学平均年龄的男同学姓名和年龄select 姓名,年龄from swhere 性别='男' and 年龄>(select avg(年龄)from swhere 性别='女')37.在数据库{USER、ORDER}中,用户需要查询“所有于2009年5月25日下订单的女顾客姓名”。

SQL数据学习:第5章 习 题

SQL数据学习:第5章  习    题

第4章习题一.单项选择1.SQL语言是____的语言,易学习.A 过程化B 非过程化C 格式化D 导航式提示:SQL是一种介于关系代数与关系演算之间的结构化查询语言,它是高度非过程化的.2.SQL语言是____语言.A 层次数据库B 网络数据库C 关系数据库D 非数据库提示:SQL是关系数据库标准语言.3.SQL语言具有____的功能.A 关系规范化,数据操纵,数据控制B 数据定义,数据操纵,数据控制C 数据定义,关系规范化,数据控制D 数据定义,关系规范化,数据操纵提示:SQL语言自身不具备关系规范化功能.4.在SQL中,用户可以直接操作的是____.A 基本表B 视图C 基本表和视图5.在SQL语言中,实现数据检索的语句是_____.A SELECTB INSERTC UPDATED DELETE6.SELECT语句执行结果是_____.A 数据项B 元组C 表D 数据库7.在SQL语句中,对输出结果排序的语句是_____.A GROUP BYB ORDER BYC WHERED HA VING8.在SELECT语句中,需对分组情况满足的条件进行判断时,应使用____.A WHEREB GROUP BYC ORDER BYD HA VING9.在SELECT语句中使用*表示____.A 选择任何属性B 选择全部属性C 选择全部元组D 选择主码10.在SELECT语句中,使用MAX(列名)时,该”列名”应该____.A 必须是数值型B 必须是字符型C 必须是数值型或字符型D 不限制数据类型11.使用CREATE TABLE语句创建的是____.A 数据库B 表C 试图D 索引12.下列SQL语句中,修改表结构的是____.A ALTERB CREATEC UPDATED INSERT13.在SQL中使用UPDA TE语句对表中数据进行修改时,应使用的语句是____.A WHEREB FROMC V ALUESD SET14.视图建立后,在数据库中存放的是____.A 查询语句B 组成视图的表的内容C 视图的定义D 产生视图的表的定义15.以下叙述中正确的是_____.A SELECT命令是通过FOR子句指定查询条件B SELECT命令是通过WHERE子句指定查询条件C SELECT命令是通过WHILE子句指定查询条件D SELECT命令是通过IS子句指定查询条件16.与WHERE AGE BETWEEN 18 AND 23完全等价的是____.A WHERE AGE>18 AND AGE<23B WHERE AGE<18 AND AGE>23C WHERE AGE>18 AND AGE<=23D WHERE AGE>=18 AND AGE<=2317.在查询中统计记录(元组)的个数时,应使用____函数.A SUMB COUNT(列名)C COUNT(*)D A VG18.在查询中统计某列中值的个数应使用____函数.A SUMB COUNT(列名)C COUNT(*)D A VG19.已知基本表SC(S#,C#,GRADE),其中S#为学号,C#为课程号,GRADE为成绩.则”统计选修了课程的学生人数”的SQL—SELECT语句为_____.A SELECT COUNT(DISTINCT S#)FROM SCB SELECT COUNT(S#)FROM SCC SELECT COUNT()FROM SCD SELECT COUNT(DISTINCT *)FROM SC20.在数据库中有如图所示的两个表,若职工表的主码是职工号,部门表的主码是部门号,SQL操作____不能执行.A 从职工表中删除行(‘025’,’王芳’,’03’,720)B 将行(‘005’,’乔兴’,’04’,750)插入到职工表中C 将职工号为”001”的工资改为700D 将职工号为”038”的部门号改为’03’提示:由于职工表中的职工号为主码,不能向其中插入同主码的记录.21.若用如下SQL语句创建一个表studentCREATE TABLE student(NO CHAR(4) NOT NULL,NAME CHAR(8) NOT NULL,SEX CHAR(2),AGE INT)可以插入到student表中的是_____.A (‘1031’,’曾华’,男,23)B (‘1031’,’曾华’,NULL,NULL)C (NULL,’曾华’,’男’,’23’)D (‘1031’,NULL,’男’,23)提示:A中性别SEX属性值格式不正确,C中NO属性值不能为空,D中NAME属性值不能为空.22.假设学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE).要查询选修”COMPUTER”课程的”女”同学的姓名,将涉及关系____.A SB SC,CC S,SCD S,SC,C二.填空1.SQL语言的数据定义功能包括定义数据库,定义基本表,定义视图,定义索引2.SELECT命令中,WHERE子句用于选择满足给定条件的元组,使用GROUP BY子句可按指定列的值分组,同时使用HA VING子句可提取满足条件的组.3.在SELECT命令中进行查询,若希望查询的结果不出现重复元组,应在SELECT语句中使用DISTINCT保留字.4.视图是一个虚表,它是从一个或几个基本表(或视图)导出的表.在数据库中,只存放视图的定义不存放视图对应的数据接第一章10._____是对数据库系统静态特征的描述,_____是对数据库系统的动态特征的描述.11.数据库体系结构按照_____,____和_____三级结构进行组织.12.外模式是_____的子集.13.实体之间的联系可抽象为三类,它们是____,____和____.14.关系操作的特点是_____操作15.关系模型的完整性规则包括_____,_____和_____.16.自然连接运算是由_____,_____和_____操作组合而成的.17.关系模式的定义格式为_____.18.关系数据库中可命名的最小数据单位是。

sql参考题(单项选择题)

sql参考题(单项选择题)

一、单项选择1、createtableemp(empnochar(10)primarykey,deptnochar(10)foreignkeyreferencedept(deptno));根据这一定义可知___B___。

A、'dept不能引用emp中不存在的deptnoB、emp不能引用dept中不存在的deptnoC、dept中删除记录时,emp中记录跟着删除D、emp中不可以插入dept中不存在的empno2、E-R方法的三要素是(C)。

A、实体、属性、实体集B、实体、键、联系C、实体、属性、联系D、实体、域、候选键单选3、SQL语言中视图(view)对应数据库系统三级模式结构中的(C)。

A、内模式B、模式C、外模式D、都不对4、SQL语言最主要功能是(C)。

A、数据定义功能B、数据管理功能C、数据查询D、数据控制5、集合R与S的交可以用关系代数的5种基本运算表示为(A)。

A、R-(R-S)B、σF(R×S)C、空D、06、视图最主要的优点是什么? (A)A、提高数据的逻辑独立性B、提高查询效率C、操作灵活D、节省存储空间7、数据的正确、有效和相容称之为数据的(B)。

A、安全性B、一致性C、独立性D、完整性8、数据库系统不仅包括数据库本身,还要包括相应的硬件,软件和什么_?(D)A、数据库管理系统B、数据库应用系统C、相关的计算机系统D、各类相关人员9、数据库中只存放视图的(C)。

A、操作B、对应的数据C、定义D、限制10、下述哪一条是并发控制的主要方法(B)。

A、授权B、封锁C、日志D、索引11、与WHEREgradenotin(60,100)语句等价的子句是(B)。

A、WHEREgrade!=60ANDgrade<100B、WHERE grade!=60 ANDgrade!=100C、WHEREgrade!=60orgrade!=100D、WHEREgrade<60ORgrade>10012、SQL语言的GRANT,REVOKE语句主要用来维护数据库的(D)。

数据库原理与技术(补充习题)

数据库原理与技术(补充习题)

第二章 关系代数(补充习题)1. 根据下面图给出的三个关系S1、S2、S3,求运算结果:S1∪S2、S2-S1、S1∩S2、∏A ,C (S2)、σA=“a1”(S1)、S2S32. 设有一数据库GradeManager (成绩管理),包括四个表:学生表(Student )、课程表(Course )、班级表(Class )以及成绩表(Grade )。

StudentCourseClassGrade1)找出所有被学生选修了的课程号;2)找出01311班女学生的个人信息;3)找出01311班、01312班的学生姓名、性别、出生日期;4)找出年龄介于14与20岁之间的学生信息;5)找出选修了课程操作系统的学生学号和姓名;6)找出所有没有选修1号课程的学生姓名;7)找出选修了全部课程的学生姓名。

8)找出选修了1号课程和4号课程的学生学号。

9)找出“贾向东”同学不学课程的课程号。

第三章 SQL基础(补充习题)1.设有一数据库GradeManager(成绩管理),包括四个表:学生表(Student)、课程表(Course)、班级表(Class)以及成绩表(Grade)。

四个表的结构如图下所示,具体数据如第二章习题2所示。

用SQL语句创建四个表。

StudentGrade2.针对以上四个表,用SQL语言完成以下各项操作:①给学生表增加一属性Nation(民族),数据类型为Varchar(20);②删除学生表中新增的属性Nation;③向成绩表中插入记录(”2001110”,”3”,80);④修改学号为”2001110”的学生的成绩为70分;⑤删除学号为”2001110”的学生的成绩记录;⑥为学生表创建一个名为IX_Class的索引,以班级号的升序排序;⑦删除IX_Class索引。

3.针对以上四个表,用SQL语言完成以下各项查询:①找出所有被学生选修了的课程号;②找出01311班女学生的个人信息;③找出01311班、01312班的学生姓名、性别、出生日期;④找出所有姓李的学生的个人信息;⑤找出学生李勇所在班级的学生人数;⑥找出课程名为操作系统的平均成绩、最高分、最低分;⑦找出选修了课程的学生人数;⑧找出选修了课程操作系统的学生人数;⑨找出2000级计算机软件班的成绩为空的学生姓名。

第三章 关系数据库标准语言SQL(习题)

第三章 关系数据库标准语言SQL(习题)

一、选择题1.SQL语言是()的语言,容易学习.BA. 过程化B.非过程化C.格式化D.导航式2.在视图上不能完成的操作是()。

CA.更新视图B.查询C.在视图上定义新的表D.在视图上定义新的视图3.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREA TE、DROP、ALTER语句是实现哪种功能()。

CA.数据查询B.数据操纵C.数据定义D.数据控制4.SQL语言中,删除一个视图的命令是()。

BA.DELETEB.DROPC.CLEARD.REMOVE5.在SQL语言中的视图VIEW是数据库的()。

AA.外模式B.模式C.内模式D.存储模式6.下列的SQL语句中,()不是数据定义语句。

DA.CREA TE TABLEB.DROP VIEWC.CREA TE VIEWD.GRANT7.若要撤销数据库中已经存在的表S,可用()。

CA.DELETE TABLE SB.DELETE SC.DROP TABLE SD.DROP S8.若要在基本表S中增加一列CN(课程名),可用()。

CA. 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))9.学生关系模式S(S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。

要在表S中删除一个属性“年龄”,可选用的SQL语句是()。

BA.DELETE Age from SB.ALTER TABLE S DROP COLUMN AgeC.UPDA TE S AgeD.ALTER TABLE S ‘Age’10.有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。

其中S#是学生号,SNAME是学生姓名,SAGE是学生年龄,C#是课程号,CNAME是课程名称。

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

针对书上的学生选课数据库S_T,用关系代数和SQL语言完成以下查询:
1、查询“CS”系所有学生的学号和姓名。

2、Slelect sno,sname from student where sdept =’CS’
3、查询所有姓“刘”的学生的信息。

4、Select * from student where sname like ‘刘%’
5、查询年龄在18至20岁之间的学生信息。

6、Select * from student where sage between 18 and 20
7、查询不在“CS”系也不在“MA”系的学生的所有信息。

8、Select * from student where sdept not in (‘CS’,’MA’)
9、查询“CS”系所有学生的平均年龄。

10、Select avg(sage) from student where sdept like ‘CS’
11、查询课程名是以“系统”结尾的课程信息。

12、Select * from course where cname like ‘%系统’
13、查询先行课为“6”号课程的课程信息。

14、Select * from course where cpno=6
15、查询间接先行课为“5”号课程的课程号及课程名。

16、Select , from c c1,c c2 where = and =5
17、Select cno ,cname from course where cpno in (select cno from course
where cpno=5)
18、查询没有先行课的课程名。

19、Select cname from course where cpno is null
20、查询选修了“1”号课程的学生选课信息。

21、Select * from sc where cno=1
22、查询成绩为90分以上的学生姓名和课程名。

23、Select sname ,cname from s,c,sc where = and = and grade>=90
24、查询被选修了的课程号及课程名。

25、Select cno ,cname from course where cno in (Select distinct(cno )
from sc)
26、Select cno ,cname from course where exists (select * from sc where
=
27、查询没有选修课程的学生学号及姓名。

28、Select sno,sname from s where sno not in (select distinct(sno) from
sc)
29、Select sno ,sname from s where not exists(select * from sc where
=
30、查询没有选修“1”号课程的学生姓名。

31、Select sname from s where sno not in (select distinct(sno) from sc
where cno=1)
32、Select sname from s where not exists (select * from sc where = and
=1)
33、查询既选修了“数据结构”又选修了“操作系统”的学生姓名。

34、Select sname from ,sc where = and = and cname=’数据结构’
35、Select sname from s where sno in (select sno from sc where
cno=(slect cno from c where cname=’数据结构’) and sno in (select sno from sc where cno=(select cno from c where cname=’操作系
统’)))
36、Select sname from s where sno in (select sno from sc sc1,sc sc2 where
= and =(slect cno from c where cname=’数据结构’) and =(select cno from c where cname=’操作系统’))
37、查询既选修了“2”号又选修了“4”号课程的学生学号。

38、Select sno from sc where cno=2 and sno in(select sno from sc where
cno=4)
39、Select sno from sc sc1,sc sc2 where = and =2 and =4
40、查询选修了“2”号或“4”号课程的学生学号。

41、Select sno from sc where cno=2 or cno=4
42、查询至少选修了“95002”学生所选课程的学生学号。

43、Select from sc scx where not exists (select * from sc scy where
=’95002’ and not exists (select * from sc scz where = and =)
44、查询至少选修了一门其间接先行课为“7”号课程的学生姓名。

45、Select sname from s where sno in(Select sno from sc where cno in
(Select from c c1,c c1 where = and =7))
46、查询选修了所有课程的学生姓名。

47、Select sname from s where not exists (select * from c where not
exists (select * from sc where = and =)
48、查询“李勇”同学所选课程的平均成绩。

49、Select avg(grade) from sc where sno =(Select sno from s where sname
=’李勇’)
50、查询“操作系统”这门课的最高分及最低分。

51、Select max(grade),min(grade) from sc where cno=(select cno from
course where cname =’操作系统’)
52、查询“数据结构”这门课的选课人数。

53、Select count(sno) from sc where cno =(select cno from course where
cname=’数据结构’)
54、查询“CS”系的所有学生的学号、姓名、课程名及成绩。

55、Select sno,sname,cname,grade from s,sc,c where = and = and
sdept=’CS’
56、查询“CS”系选修课程的成绩在90分以上的所有女生的姓名、课程名和
成绩。

57、Select sname,cname,grade from s,sc,c where = and = and sdept=’CS’
and grade >=90 and ssex like ‘女’。

相关文档
最新文档