当前位置:文档之家› 关系数据库标准语言SQL练习题

关系数据库标准语言SQL练习题

关系数据库标准语言SQL练习题
关系数据库标准语言SQL练习题

第3章关系数据库标准语言SQL

一.单项选择题

1.SQL语言是▁▁▁▁▁的语言,易学习。

A.过程化 B非过程化 C.格式化 D导航式

B

2.SQL语言是▁▁▁▁▁语言。

A.层次数据库 B.网络数据库 C.关系数据库 D非数据库

3.SQL语言具有▁▁▁▁▁的功能。

A.关系规范化、数据操纵、数据控制

B.数据定义、数据操纵、数据控制

C.数据定义、关系规范化、数据控制

C.数据定义、关系规范化、数据操纵

4.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。其中最重要的,也是使用最频繁的语句是▁▁▁▁▁。A.SELECT B.INSERT C.UPDATE D.DELETE

5.在关系代数运算中,五种基本运算为▁▁▁▁▁。

A.并、差、选择、投影、自然连接 B.并、差、交、选择、投影

C.并、差、选择、投影、乘积 D.并、差、交、选择、乘积

6 .SQL语言中,实现数据检索的语句是▁▁▁▁▁。

A.SELECT B.INSERT C.UPDATE D.DELETE

7.下列SQL语句中,修改表结构的是▁▁▁▁▁。

A.ALTER B.CREATE C.UPDATE D.INSERT

第8到第11题基于这样的三个表,即学生表S、课程表C和学生选课表SC,他们的结构如下:

S(S#,SN,SEX,AGE,DEPT); C(C#,CN); SC(S#,C#,GRADE)

其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程CN为课程名,GPADE为成绩。

8.检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是▁▁A▁▁。

A.SELECT SN,AGE,SEX

FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=“王华”)

B.SELECT SN,AGE,SEX

FROM S WHERE SN=“王华”

C.SELECT SN,AGE,SEX

FROM S WHERE AGE>(SELECT AGE WHERE SN=“王华”)

D.SELECT SN,AGE,SEX

FROM S WHERE AGE>王华.AGE

9.检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是▁▁D▁▁。

A.SELECT S# FORM SC

WHERE C#=“C2”AND GRADE>=(SELECT GRADE FORM SC WHERE C#=“C2”)

B.SELECT S# FORM SC

WHERE C#=“C2”AND GRADE IN(SELECT GRADE FORM SC WHERE C#=“C2”)

C.SELECT S# FORM SC

WHERE C#=“C2”AND GRADE NOT IN(SELECT GRADE FORM SC WHERE

C#=“C2”)

D.SELECT S# FORM SC

WHERE C#=“C2”AND GRADE>=ALL(SELECT GRADE FORM SC WHERE

C#=“C2”)

10.检索学生姓名及其所选修课程号和成绩。正确的SELECT语句是▁▁▁C▁▁。

FROM S WHERE S .S#=SC .S# B .SELECT S .SN ,SC .C#,SC .GRADE FROM S WHERE S .S#=SC .GRADE C .SELECT S .SN ,SC .C#,SC .GRADE FROM S ,SC WHERE S .S#=SC .S# D .SELECT S .SN ,SC .C#,SC .GRADE FROM S .SC

11.检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT 语句是▁B ▁。 A .SELECT S#,SUM (GRADE )

FROM SC WHERE GRADE>=60 GROUP BY S# ORDER BY 2 DESC HAVING COUNT(*)>=4 SELECT S#,SUM (GRADE )

FROM SC WHERE GRADE>=60 GROUP BY S# HAVING COUNT (*)>=4 ORDER BY 2 DESC

SELECT S#,SUM (GRADE )

FROM SC WHERE GRADE>=60 HAVING COUNT (*)>=4 GROUP BY S# ORDER BY 2 DESC

SELECT S#,SUM (GRADE )

FROM SC WHERE GRADE>=60 ORDER BY 2 DESC GROUP BY S# HAVING COUNT (*)>=4

12.假定学生关系是S (S#,SNAME ,SEX ,AGE ),课程关系是C (C#,CNAME ,TEACHER ),学生选修课关系是SC (S#,C#,GRADE )。 要查找选修“COMPUTER ”课程的“女”学生姓名,将涉及到关系▁▁D ▁▁。 A .S B .SC ,C C .S ,SC D .S ,C ,SC

13.如下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL 操作▁▁▁▁▁不能执行。

职工表 部门表

A .从职工表中删除行(‘025’,‘王芳’,‘03’,720)

B .将行(‘005’,‘乔兴’,‘04’,750)插入到职工表中

C .将职工号为‘001’工资改为700

D .将职工号为‘038’部门号改为‘03’ B

14.若用如下的SQL 语句创建一个student 表: CREATE TABLE student (NO C (4) NOT NULL , NAME C (8) NOT NULL , SEX C (2), AGE N (2));

可以插入到student 表中的是▁▁▁▁▁。

A .(‘1031’,‘曾华’,男,23)

B .(‘1031’,‘曾华’,NULL ,NULL )

B

二、填空题

1.SQL是▁▁▁▁▁▁▁▁▁▁。

结构化查询语言

2.SQL语言的数据定义功能包括▁▁▁▁▁▁▁、▁▁▁▁▁▁▁、▁▁▁▁▁▁▁和▁▁▁▁▁▁▁。

定义数据库定义基本表定义视图定义索引

3.视图是一个虚表,它是从▁▁▁中导出的表。在数据库中,只存放视图的▁▁▁▁▁,不存视图的▁▁▁▁▁▁▁▁▁▁。一个或几个基本表定义视图对应的数据

4.设有如下关系表R、S和T:

R(BH,XM,XB,DWH)

S(DWH,DW)

T(BH,XM,XB,DWH)

实现R∪T的语句是▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。

实现R∪T的语句是▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。

实现R∪T的语句是▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。

实现R∪T的语句是▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。

实现R∪T的语句是▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。

实现R∪T的语句是▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。

SELECT * FROM R UNION SELECT * FROM T

SELECT * FROM R WHERE DWH=‘100’

SELECT XM,XB FROM R

SELECT X,DWH FROM R WHERE XB=“女”

SELECT R.BH,R.XM,R.XB,R.DWH,S.DWH,S.DWM

FROM R,S WHERE R.DWH=S.DWH

SELECT R.XM,R.XB,S.DWM

FROM R,S WHERE R.DWH=S.DWH AND R.XB=“男”

5.设有如下关系表R:

R(NO,NAME,SEX,AGE,CLASS)

主关键字的NO。

其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。写出实现下列的SQL语句。

插入一个记录(25,“李明”“男”,21,“95031”);

插入“95031”班号为30、姓名为“郑和”的学生记录;

将学号为10的学生姓名改为“王华”;

将所有“95101班号改为“95091”;

删除学号为20的学生记录;

删除姓“王”的学生记录;

INSERT INTO R VALUES(25,“李明”,“男”,21,“95031”)

INSERT INTO R(NO,NAME,CLASS)VALUES(30,“郑和”,“95031”)

UPDATE R SET NAME=“王华” WHERE NO=10

UPDATE R SET CLASS=“95091” WHERE CLASS=“95101”

DELETE FROM R WHERE NO=20

DELETE FROM R WHERE NAME LIKE“王%”

习题3

答:S QL语言支持的三级逻辑结构如图1所示.

在概念层,对应概念模式的概念记录型的基本表。基本表是这样的一种表,它本身实际存在,在Visual Foxpro 中每个表在存储中可用一具存储文件来表示(在ORACLE 中,多个表存储在一个文件夹中。一个基本表就是一个关系,它不是由其人表导出的表。基本表是使用CDEATE TABLE 语句建立的。

在外层,用户所看到的可以是基本表,也可以是视图。视图是一个虚拟表,它是由一个或几个基本表导出的表,它不直接存在于物理存储器上的表。视图是使用CDEATE VIEW 语句建立的。

在内层,基本表(或库)用一个存储文件来表示,即用一组类型相同的存储记录值来表示。DBA 可以对物理存储文件进行操作。

2.叙述使用SQL 语言实现各种关系运算的方法。

答:由Visual Foxpro 支持的SQL 语言没有提供关系的笛卡尔积、交和差运算。其全关系运算对应的SQL 语句格式是: R ∪S :SELECT 语句(生成R ) UNION

SELECT 语句(生成S )

选择:SELECT * FROM <表> WHERE <指定选择的条件> 投影:SELECT <投影字段列表> FROM<表>

选择:SELECT <连接的字段列表> FROM <连接的两个表名> WHERE<连接条件>

3.设有如图所示的三个关系,并假定这三个关系框架组成的数据模型就是用户子模式。其中各个属性的含义如下:A #(商店代号)、ANAME (商店名)、WQTY(店员人数)、CITY (所在城市)、B#(商品号)、BNAME (商品名称)、PRICE (价格)、QTY (商品数量)。试用SQL 语言写出下列查询,并给出执行结果。 A AB

B

⑴ 找出店员人数不超过100人或者在长沙市的所有商店的代号和商店名。 SELECT A#,ANAME

FROM A WHERE WQTY<=100 OR CITY=“长沙”; ⑵ 找出供应书包的商店名。 SELECT A .ANAME FROM A ,B ,AB

WHERE A .A#=AB .A# AND B .B#=AB .B# AND B .BNAME=“书包”;

⑶ 找出至少供应了代号为“256”的商店所供应的全部商品的商店名和所在城市。

SELECT ANAME ,CITY FROM A WHERE NOT EXSIST

(SELECT * FORM AB F WHERE A#=“256” AND NOT EXSIST (SELECT * FROM AB S WHERE A#=A .A# AND B#=F .B#));

4.设有图书登记表TS ,具有属性:BNO (图书编号),BC (图书类别),BNA (书名),AU (著者),PUB (出版社)。按下列要求用SQL 语言进行设计。

查询按出版社统计其出版图书总数。 SELECT PUB ,COUNT (BNO ) FROM TS GROUP BY PUB

5.已知三个关系R 、S 和T 如图所示。试用SQL 语句实现如下操作:

R S T

⑴ 将R 、S 和T 三个关系按关联属性建立一个视图R-S-T 。 ⑵ 对视图R-S-T 按属性A 分组后,求属性C 和E 的平均值。 解:

⑴ CREATE VIEW R-S-T

AS SELECT R .A ,B ,C ,S .D ,E ,F

FROM R ,S ,T WHERE R .A=S .A AND S .D=T .D ;

⑵ SELECT AVG (C ),AVG (E ) FROM R-S-T GROUP BY A ; 6.有关系R 和S 如图所示。

R S

试用SQL 语句实现:

⑴ 查询属性C>50时,R 中与相关联的属性B 之值。

⑵ 当属性C=40时,将R 中与之相关连的属性B 值修改为b4。 解:

⑴ SELECT B FROM R ,S WHERE R .A=S .A AND C>50; ⑵ UPDATE R

SET B=“b4” WHERE A IN (SELECT A FROM S WHERE C=40)

7.已知R 和S 两个关系如图所示。

R S

执行如下SQL 语句:

⑴ CREATE VIEW H (A ,B ,C ,D ,E)

⑵ SELECT B ,D ,E FROM H WHERE C=“C2” 试给出: ⑴ 视图H。

⑵ 对视图H的查询结果。 解:本题的结果如图所示。

视图H 对视图H的查询结果

8.已知关系R 如图所示。 R

试用SQL 语句实现下列操作:

⑴ 按属性A 分组,求出每组中在属性C 上的最大值和最小值,且将它们置于视图RAE 中。 ⑵ 在视图RAE 中查询属性A =“8”记录。 解

⑴ CREATE VIEW RAE (A ,CMAX ,CMIN )

AS SELECT A ,MAX (C ),MIN (C ) FROM R GROUP BY A ; ⑵ SELECT * FROM RAE WHERE A=“98”

9.已知学生表S 和学生选课表SC 。其关系模式如下: S (SNO ,SN ,SD ,PROV ) SC (SNO ,CN ,GR )

其中:SNO 为学号,SN 为姓名,SD 为系名,PROV 为省区,CN 为课程名,GR 为分数。试用SQL 语言实现下列操作: ⑴ 查询“信息系”的学生来自哪些省区。

⑵ 按分数降序排序,输出“英语系”学生选修了“计算机”课程的学生的姓名和分数。 解:

⑴ SELECT DISTINCT PROV FROM S WHERE SD=“信息系” ⑵ SELECT SN ,GR FROM S ,SC

WHERE SD=“英语系”AND CN=“计算机”AND S .SNO=SC .SNO ORDWR BY GR DESC ;

10.设有学生表S (SNO ,SN )(SNO 为学生号,SN 为姓名)和学生选修课程表SC (SNO ,CNO ,CN ,G )(CNO 为课程号,CN 为课程名,G 为成绩),试用SQL 语言完成以下各题:

⑵从视图V-SSC上查询平均成绩在90分以上的SN、CN和G。

解:

⑴ CREATE VIEW V-SSC(SNO,SN,CNO,CN,G)

AS SELECT S.SNO,S.SN,CNO,SC.CN,SC.G

FROM S,SC WHERE S.SNO=SC.SNO ORDWR BY CNO

⑵ SELECT SN,CN,G

FROM V-SSC GROGP BY SNO HAVING AVG(G)>90

11.设有关系模式:

SB(SN,SNAME,CITY)

其中:SB表示供应商,SN为供应商代号,SNAME为供应商名字,CITY为供应商所在城市,主关键字为SN。

PB(PN,PNAME,COLOR,WEIGHT)

其中:P表示零件,PN为零件代号,PNAME为零件名字,COLOR为零件颜色,WEIGHT为零件重量,主关键字为PN。

JB(JN,JNAME,CITY)

其中:JB表示工程,JN为工程编号,JNAME为工程名字,CITY为工程式所在城市,主关键字为JN。

SPJB(SN,PN,JN,QTY)

其中:SPJ表示供应关系,SN是为指定工程提供零件的供应商代号,PN为所提供的零件代号,JN为工程编号,QTY表示提供的零件数量,主关键字为SN,PN,JN,外关键字为SN,PN,JN。

如图所示表示供应商(S)—零件(P)—工程(J)数据库表,写出实现以下各题功能的SQL语句:

(1)取出所有工程的全部细节:

SELECT * FROM JB TO SCREEN;

JN JNAME CITY

--------------------------------------

J1 JN1 上海

J2 JN2 广州

J3 JN3 南京

J4 JN4 南京

J5 JN5 上海

J6 JN6 武汉

J7 JN7 上海

(2)取出所在城市为上海的所有工程的全部细节;

SELECT * FROM JB WHERE CETY=“上海”TO SCREEN;

JN JNAME CITY

--------------------------------------

J1 JN1

J5 JN5

J7 JN7

(3)取出重量最轻的零件代号;

SELECT PN FROM PB

WHERH WEIGHT=

(SELECT MIN(WEIGHT) FROM PB)TO SCREEN;

PN

――――

――――

(4)取出为工程式J1提供零件的供应商代号;

SELECT SN FROM SPJB WHERE JN=“J1”TO SCREEN;

SN

――――

S1

S2

S3

――――

(5)取出为工程J1提供P1的供应商代号;

SELECT SN FROM SPJB

WHERE JN=“J1”AND PN=“P1” TO SCREEN;

SN

――

S1

――

(6)取出由供应商S1提供零件的工程名称;

SELECT JB.JNAME FROM JB,SPJB

WHERE JB.JN=SPJB.JN AND SPJB.SN=“S1” TO SCREEN;JNAME

――――――

JN1

JN4

――――――

(7)取出供应商S1提供的零件的颜色;

SELECT DISTINCT PB.COLOR FROM PB,SPJB

WHERE PB.PN=SPJB.PN AND SPJB.SN=“1”TO SCREEN;COLOR

―――

―――

(8)取出为工程J1或J2提供零件的供应商代号;

SELECT DISTINCT SN FROM SPJB

WHERE JN=“J1” OR JN=“J2”TO SCREEN;

SN

―――

S1

S2

S3

S5

―――

(9)取出为工程J1提供红色零件的供应商代号;

SELECT DISTINCT SPJB.SN FROM SPJB,PB

WHERE PB.PN=SPJB.PN AND SPJB.JN=“J1”AND PB.COLOR=“红” TO SCREEN;SN

――-

S1

――-

(10)取出为所在城市为上海的工程提供零件的供应商代号;

SELECT DISTINCT SPJB.SN FROM SPJB,JB

WHERE SPJB.JN=JB.JN AND JB.CITY=“上海”TO SCREEN;

SN

―――

S1

S2

S3

S4

S5

――-

(11)取出为所在城市为上海或北京的工程提供红色零件的供应商代号;

SELECT SPJB.SN FROM PB,JB,SPJB

WHERE SPJB.PN=PB.PN AND JB.JN=SPJB.JN AND PB.COLOR=‘红’AND (JB.CITY=“上海”OR JB.CITY=“北京”TO SCREEN;

SN

――

S1

S4

――

(12)取出供应商与工程所在城市相同的供应商提供的零件代号;

SELECT DISTINCT SPJB.PN FROM SB,JB,SPJB

WHERE SB.SN=SPJB.SN AND JB.JN=SPJB.JN AND SB.CITY=JB.CITY TO SCREEN;

PN

――――

P1

P2

P3

P4

P5

P6

―――――

(13)取出上海的供应商提供给上海的任一工程的零件的代号;

WHERE SB.SN=SPJB.SN AND JB.JN=SPJB.JN AND SB.CITY=“上海” AND

JB.CITY=“上海” TO SCREEN;

PN

――――

P1

P6

――――

(14)取出至少由一个和工程式不在同一城市的供应商提供零件的工程代号;

SELECT DISTINCT SPJB.JN FROM SB,JB,SPJB

WHERE SB.SN=SPJB.SN AND JB.JN=SPJB.JN AND SB.CITY<>JB.CITY TO SCREEN; JN

――――

J1

J2

J3

J4

J5

J6

J7

――――

(15)取出上海供应商不提供任何零件的工程的代号

SELECT DISTINCT JN FROM SPJB

WHERE JN NOT IN

(SELECT DISTINCT SPJB.JN FROM SB,SPJB

WHERE SB.SN=SPJB.SN AND SB.CITY=“上海”)TO SCREEN;

JN

――――

J2

J5

J6

――――

(16)取出这样一些供应商代号,它们能够提供至少一种由红色零件的供应商提供的零件;SELECT DISTINCT SPJB.SN FROM PB,SPJB

WHERE SPJB.PN IN

(SELECT SPJB.PN FROM SPJB,SB,PB

WHERE SB.SN=SPJB.SN AND PB.PN=SPJB.PN AND PB.COLOR=“红” TO

SCREEN;

SN

――――

S1

S2

S3

S5

――――

(17)取出由供应商S1提供零件的工程的代号:

SELECT DISTINCT SPJB.JN FROM SB,PB,SPJB

WHIERE SB.SN=SPJB.SN AND PB.PN=SPJB.PN AND SB.SN=“S1” TO SCREEN;

JN

————

J1

J4

————

(18)取出所有这样的一些二元组,使得第1个城市的供应商为第2个城市的工程提供零件;SELECT DISTINCT SB.CITY,JB.CITY FROM SB,JB,SPJB

WHERE SB.SN=SPJB.SN AND JB.JN=SPJB.JN TO SCREEN;

CITY_A CITY_B

-----------------------------------

北京广州

北京南京

北京上海

北京武汉

南京广州

南京南京

南京上海

上海南京

上海上海

-----------------------------------

(19)取出所有这样的三元组,使得第1个城市的供应商为第2个城市的工程提供指定的零件;SELECT DISTINCT SB.CITY,SPJB.PN,JB.CITY FROM SB,JB,SPJB

WHERE SB.SN=SPJB.SN AND JB.JN=SPJB.JN TO SCREEN;

CITY_A PN CITY_B

--------------------------------------

北京 P3 广州

北京 P3 南京

北京 P3 上海

北京 P3 武汉

北京 P4 广州

北京 P5 广州

南京 P1 南京

南京 P2 广州

南京 P2 南京

南京 P3 南京

南京 P4 南京

南京 P5 南京

南京 P6 广州

南京 P6 南京

上海 P1 南京

上海 P1 上海

上海 P6 南京

上海 P6 上海

--------------------------------------

(20)重复(19)题,但不检索两个CITY值相同的三元组。

SELECT DISTINCT SB.CITY,SPJB.PN,JB.CITY FROM SB,JB,SPJB

WHERE SB.SN=SPJB.SN AND JB.JN=SPJB.JN AND SB.CITY<>JB.CITY TO

SCREEN;

CITY_A PN CITY_B

--------------------------------------------

北京 P3 广州

北京 P3 南京

北京 P3 上海

北京 P3 武汉

北京 P4 广州

北京 P5 广州

南京 P2 广州

南京 P5 上海

南京 P6 广州

上海 P1 南京

上海 P6 南京

---------------------------------------------

12.有样本表student、teacher、course 和score(如图),写出实现以下各题功能的SQL语句,并给出执行结果。Student score

------------------------------------------------------- ------------------------------

NO NAME SEX BIRTHDAY CLASS NO CNO DEGREE

108 曾华男 09/01/77 95033 103 3-245 86

105 匡明男 10/02/75 95031 105 3-245 75

107 王丽女 01/23/76 95033 109 3-245 68

101 李军男 02/20/76 95033 103 3-105 92

109 王芳女 02/10/75 95031 105 3-105 88

103 陆军男 06/03/74 95031 109 3-105 76

101 3-105 64

101 3-105 91

101 3-105 78

101 6-166 85

101 6-166 79

101 6-166 81

teacher course

------------------------------------------------------------------- -------------------------------

804 李诚男 12/02/58 副教授计算机 3-103 计算机导论 825 856 张旭男 03/12/69 讲师电子 3-245 操作系统 825 825 王萍女 05/05/72 助教计算机 6-166 数字电路 825 831 刘冰女 08/14/77 助教电子 9-888 高等数学 825

⑴上列出至少有2名男生的班号。

SELECT class FROM student WHERE sex=“男”

GROUP BY class HAVING COUNT(*)>=2 TO SCREEN;

CLASS

-------------

95031

95033

-------------

⑵屏幕显示student表中不姓“王”的同学记录。

SELECT * FROM studen WHERE name not like “王%” TO SCREEN;

NO NAME SEX BIRTHDAY CLASS

------------------------------------------------------------------------ 108 曾华男 09/01/76 95033

105 匡明男 10/02/75 95031

101 李军男 02/20/76 95033

103 陆君男 06/03/74 95031

------------------------------------------------------------------------

⑶屏幕显示student表示每个学生的姓名和年龄。

SELECT name as “姓名”,year(date())-year(birthday)as“年龄”FROM student TO SCREEN;

姓名年龄

-----------------------

曾华 23

匡明 24

王丽 23

李军 23

王芳 24

陆君 25

-----------------------

⑷屏幕显示student表中最大和最小的birthday日期值。

SELECT name,max(birthday),min(birthday) FROM student TO SCREEN;NAME MAX_BIRTHDAY MIN_BIRTHDAY

----------------------------------------------------------------------- 陆君 77.09.01 74.06.03

-----------------------------------------------------------------------

⑸以班号和年龄从大到小的顺序在屏幕上显示student表中的全部记录。

DRDER BY class,birthday TO SCREEN;

CLASS NAME BIRTHDAY

-----------------------------------------------------

95031 陆君 74.06.03

95031 王芳 75.02.10

95031 匡明 75.10.02

95033 王丽 76.01.23

95033 李军 76.02.20

95033 曾华 77.09.01

-----------------------------------------------------

⑹屏幕显示“男”教师及其所上的课程。

SELECT x.name,y.cname FROM teacher x,course y

WHERE x.no=y.tno AND x.sex=“男” TO SCREEN;

NAME CNAME

-----------------------------------

李诚操作系统

张旭数字电路

-----------------------------------

⑺在屏幕上列出最高分同学的no、cno和degree列。

SELECT no,cno,degree FROM score

WHERE degree=(SELECT max(degree) FROM score)TO SCREEN;

NO CNO DEGREE

------------------------------------------

103 3_105 92

------------------------------------------

⑻在屏幕上列出和“李军”同性别的所有同学的name。

SELECT name FROM student

WHERE sex=(SELECT sex FROM student WHERE name=“李军”)TO SCREEN; NAME

------------------

曾华

匡明

李军

陆君

------------------

⑼在屏幕上列出和“李军”同性别并同班的同学name。

SELECT name FROM student

WHERE sex=(SELECT sex FROM student WHERE name =“李军”)

AND class=(SELECT class FROM student WHERE name =“李军”)TO SCREEN;NAME

-----------

李军

------------

⑽在屏幕上列出所有选修“计算机导论”课程的“男”同学的成绩表。SELECT no,cno,degree FROM score

WHERE no IN(SELECT no FROM student WHERE sex =‘男’)

AND cno=(SELECT cno FROM course WHERE cname=“计算机导论”)TO SCREEN;NO CNO DEGREE

-----------------------------------------------

103 3_105 92

105 3_105 88

101 3_105 64

108 3_105 78

关系数据库标准语言SQL练习题

关系数据库标准语言 S Q L练习题 Company number:【0089WT-8898YT-W8CCB-BUUT-202108】

第3章关系数据库标准语言SQL 一.单项选择题 1.SQL语言是▁▁▁▁▁的语言,易学习。 A.过程化 B非过程化 C.格式化 D导航式 B 2.SQL语言是▁▁▁▁▁语言。 A.层次数据库 B.网络数据库 C.关系数据库 D非数据库 3.SQL语言具有▁▁▁▁▁的功能。 A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 C.数据定义、关系规范化、数据操纵 4.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。其中最重要的,也是使用最频繁的语句是▁▁▁▁▁。A.SELECT B.INSERT C.UPDATE D.DELETE 5.在关系代数运算中,五种基本运算为▁▁▁▁▁。 A.并、差、选择、投影、自然连接 B.并、差、交、选择、投影 C.并、差、选择、投影、乘积 D.并、差、交、选择、乘积 6 .SQL语言中,实现数据检索的语句是▁▁▁▁▁。 A.SELECT B.INSERT C.UPDATE D.DELETE 7.下列SQL语句中,修改表结构的是▁▁▁▁▁。 A.ALTER B.CREATE C.UPDATE D.INSERT 第8到第11题基于这样的三个表,即学生表S、课程表C和学生选课表SC,他们的结构如下: S(S#,SN,SEX,AGE,DEPT); C(C#,CN); SC(S#,C#,GRADE) 其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程CN为课程名,GPADE为成绩。 8.检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是▁▁A▁▁。 A.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=“王华”) B.SELECT SN,AGE,SEX FROM S WHERE SN=“王华” C.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE WHERE SN=“王华”) D.SELECT SN,AGE,SEX FROM S WHERE AGE>王华.AGE 9.检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是▁▁D▁▁。 A.SELECT S# FORM SC WHERE C#=“C2”AND GRADE>=(SELECT GRADE FORM SC WHERE C#=“C2”) B.SELECT S# FORM SC WHERE C#=“C2”AND GRADE IN(SELECT GRADE FORM SC WHERE C#=“C2”) C.SELECT S# FORM SC WHERE C#=“C2”AND GRADE NOT IN(SELECT GRADE FORM SC WHERE C#=“C2”) D.SELECT S# FORM SC WHERE C#=“C2”AND GRADE>=ALL(SELECT GRADE FORM SC WHERE C#=“C2”)

答案《关系数据库与SQL语言》第一章练习题

《关系数据库与SQL语言》第一章练习题 一、选择题 1、实体完整性要求主属性不能取空值,这一点通常就是通过(B) A、定义外键来保证 B、定义主键来保证 C、用户定义完整性来保证 D、关系系统自动保证 2、建立在计算机外部设备上的结构化的、有联系的数据集合就是( A)。 A、数据库 B、数据库管理系统 C、数据结构 D、数据文件 3、英文缩写 DBA 就是代表( B)。 A、数据库管理系统 B、数据库管理员 C、数据定义语言 D、数据操纵语言 4、数据库设计中,在概念设计阶段可用 E — R 方法,其设计出的图称为( A)。 A、实体联系图 B、实用概念图 C、实体表示图 D、实物示意图 5、在概念设计阶段可用 E —R 图,其中“矩形框”表示实体,( D)表示实体间联系。 A、圆形框 B、椭圆框 C、箭头 D、菱形框 6、一个教师能开多门课程,一门课程有许多教师会开,实体课程与实体教师间就是 ( C)。 A、一对一的联系 B、一对多的联系 C、多对多的联系 D、多对一的联系 7、两个不同型实体间( B)。 A、只有一种联系 B、可以有多种联系 C、不能有联系 D、只有多对多的联系 8、不就是数据库系统中的数据模型就是( D)。 A、层次模型 B、网状模型 C、关系模型 D、多用户型 9、对于两实体间 m:n 联系,必须对“联系”单独建立( D),用来联系双方实体。 A、一个实体 B、一个属性 C、一个指针 D、一个关系 10、模式的逻辑子集通常称为( C) A .存储模式 B .内模式 C .外模式 D .模式 11、要保证数据库物理数据独立性,需要修改的就是 ( B ) 。 A、模式 B、模式与内模式的映射 C、模式与外模式的映射 D、内模式 12、下列四项中,不属于数据库特点的就是 ( C ) 。 A、数据共享 B、数据完整性 C、数据冗余很高 D、数据独立性高 13、数据库中存储的就是 ( D ) 。 A、数据 B、数据模型 C、数据之间的联系 D、数据以及数据之间的联系 14、表示数据库的概念模型一般使用 ( C) 。 A、用户活动图 B、数据流图 C、 E — R 图 D、流程图 15、现有关系表:学生(宿舍编号,宿舍地址,学号,姓名,性别,专业)的主键为:( B ) A、宿舍编号 B、学号 C、宿舍地址,姓名 D、宿舍编号,学号 16、公司中有多个部门与多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从部门到职员的联系类型就是( D ) A、多对多 B、一对一 C、多对一 D、一对多 17、现有如下关系:职工(职工号、姓名、性别、职务),部门(部门编号、部门名称、职工号、姓名、部门地址、电话)其中,部门关系中的外键就是( C ) A、部门编号 B、姓名 C、职工号 D、职工号,姓名

关系数据库标准语言SQL(一)

关系数据库标准语言SQL(一) (总分:19.00,做题时间:90分钟) 一、{{B}}选择题{{/B}}(总题数:7,分数:7.00) 1.在SQL语言中,删除视图的语句是 ______。 (分数:1.00) A.ALTER VIEW B.DROP VIEW √ C.ZAP VIEW D.DELETE VIEW 解析: 2.关系数据库的数据语言是 ______ 的语言,其核心部分为查询,因此又称为查询语言。 (分数:1.00) A.过程化 B.非过程化√ C.宿主 D.系列化 解析: 3.实现“收回用户U4对学生表STUD中学号(XH)的修改权”这一功能的正确SQL语句是 ______。 (分数:1.00) A.REVOKE UPDAE(XON TABLE FROM U4 B.REVOKE UPDAE(XON TABLE STUD FROM PUBLIC C.REVOKE UPDAE(XON TABLE STUD FROM U4 √ D.REVOKE ALL PRIVILEGES ON TABLE FROM U4 解析: 4.在嵌入式SQL中,主语言向SQL语句输入数据,主要用主变量来实现。为了区别字段名,要求主变量名前必须加符号 ______ 作标志。 (分数:1.00) A.;(分号) B.、(顿号) C.+(加号) D.:(冒号) √ 解析: 5.在SQL语言中,CREATE VIEW语句用于建立视图。如果要求对视图更新时,必须满足子查询中的条件表达式,应当在该语句中使用短语 ______。 (分数:1.00) A.WITH UPDATE B.WITH INSERT C.WITH DELETE D.WITH CHECK OPTION √ 解析: 6.为使程序员编程时既可使用数据语言又可使用常规的程序设计语言,数据库系统需要把数据库语言嵌入到 ______ 中, (分数:1.00) A.编译程序 B.操作系统 C.中间语言 D.宿主语言√

关系数据库与SQL语言模拟试卷

关系数据库与SQL语言(共100分) 一.单项选择题(本大题共20题,每小题2分,共40分) 1.候选码中的属性称为_________。[ ] A.非主属性B.主属性 C.复合属性D.关键属性 2.下列“部门”关系中,因哪个属性而使它不满足第一范式________?[ ] 部门(部门号,部门名,部门成员,部门总经理) A.部门总经理B.部门名 C.部门号D.部门成员 3.DML是_____________。[ ] A.数据定义语言B.数据操纵语言 C.数据控制语言D.数据查询语言 4. 关系模型的数据结构是_______________。[ ] A.表B.树 C.有向图D.网络 5.E-R图是进行概念模型设计的有力工具,它的基本成分包含_______________。[ ] A.数据及流向、加工、原点与终点、文件 B.数据、数据类型、长度、取值范围 C.数据项、数据结构、数据流 D.实体型、属性、联系 6.下列有关视图的说法,哪个是正确的。[ ] A.视图是一基本表的子集 B.视图是另一视图的子集 C.视图是关系模型的外模式 D.视图是由一个或多个基本表导出的虚表 7.在SQL语言中,删除表中数据时,应使用的命令是_______________。[ ] A.DELETE B.UPDATE C.ALTER D.DROP 8. 对关系执行“投影”运算后得到的新关系与原关系[ ] A.相同B.相容 C.元组数相同D.不相容 9.DBMS用于保存所有更新数据库操作的文件是____________。[ ] A.事务日志B.数据库 C.数据字典D.索引 10.在关系对应的二维表中,以下说法________是不正确的。[ ]

关系数据库与SQL语言练习

第一章 一、选择题 在下列各题A),B),C),D)四个选项中选择一个正确的。 1,数据库(DB)、数据库系统(DBS)、数据库管理系统(DBMS)之间的关系是( C )。 A)DB包含DBS和DBMS B)DBMS包含DB和DBS C)DBS包含DB和DBMS D)没有任何关系 2.数据库系统的核心是( B )。 A)数据模型 B)数据库管理系统 C)数据库 D)数据库管理员 3.数据独立性是数据库技术的重要特点之一。所谓数据独立性是指( D )。 A)数据与程序独立存放 B)不同的数据被存放在不同的文件中 C)不同的数据只能被对应的应用程序所使用 D)以上三种说法都不对 4.用树形结构表示实体之间联系的模型是( C )。 A)关系模型 B)网状模型 C)层次模型 D)以上三个都是 5.“商品”与“顾客”两个实体集之间联系一般是( D )。 A)一对一 B)一对多 C)多对一 D)多对多 6.在E-R图中,.用来表示实体的图形是( A )。 A)矩形 B)椭圆形 C)菱形 D)三角形 7.在数据库管理系统提供的数据语言中,负责数据的模式定义与数据的物理存取构建的是( A )。 A)数据定义语言 B)数据转换语言 c)数据操纵语言 D)数据控制语言 8.数据库系统的三级模式结构中,下列不属于三级模式的是( B )。. A)内模式 B)抽象模式 c)外模式 D)概念模式 9.在数据库管理系统提供的语言中,负责数据的完整性、安全性的定义与检查以及并发控制、故障恢复等功能的是( D )。 A)数据定义语言 B)数据转换语言 c)数据操纵语言 D)数据控制语言 10.下面关于数据系统叙述正确的是( B )。 A)数据库系统避免了一切冗余、’ B)数据库系统减少了数据冗余 c)数据库系统比文件能管理更多的数据 D)、数据库系统中数据的一致性是指数据类型的一致 11.下列叙述中,错误的是( C )。 A)数据库技术的根本目标是要解决数据共享的问题 B)数据库设计是指设计一个能满足用户要求,性能良好的数据库 c)数据库系统中,数据的物理结构必须与逻辑结构一致 D)数据库系统是一个独立的系统,但是需要操作系统的支持 12.在数据库管理系统提供的数据语言中,负责数据的查询及增、删、改等操作的是( D )。 A)数据定义语言 B)数据转换语言 c)数据控制语言 D)数据操纵语言

关系数据库标准语言SQL练习题

第3章关系数据库标准语言SQL 一.单项选择题 1.SQL语言是▁▁▁▁▁的语言,易学习。 A.过程化 B非过程化 C.格式化 D导航式 B 2.SQL语言是▁▁▁▁▁语言。 A.层次数据库 B.网络数据库 C.关系数据库 D非数据库 3.SQL语言具有▁▁▁▁▁的功能。 A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 C.数据定义、关系规范化、数据操纵 4.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。其中最重要的,也是使用最频繁的语句是▁▁▁▁▁。A.SELECT B.INSERT C.UPDATE D.DELETE 5.在关系代数运算中,五种基本运算为▁▁▁▁▁。 A.并、差、选择、投影、自然连接 B.并、差、交、选择、投影 C.并、差、选择、投影、乘积 D.并、差、交、选择、乘积 6 .SQL语言中,实现数据检索的语句是▁▁▁▁▁。 A.SELECT B.INSERT C.UPDATE D.DELETE 7.下列SQL语句中,修改表结构的是▁▁▁▁▁。 A.ALTER B.CREATE C.UPDATE D.INSERT 第8到第11题基于这样的三个表,即学生表S、课程表C和学生选课表SC,他们的结构如下: S(S#,SN,SEX,AGE,DEPT); C(C#,CN); SC(S#,C#,GRADE) 其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程CN为课程名,GPADE为成绩。 8.检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是▁▁A▁▁。 A.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=“王华”) B.SELECT SN,AGE,SEX FROM S WHERE SN=“王华” C.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE WHERE SN=“王华”) D.SELECT SN,AGE,SEX FROM S WHERE AGE>王华.AGE 9.检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是▁▁D▁▁。 A.SELECT S# FORM SC WHERE C#=“C2”AND GRADE>=(SELECT GRADE FORM SC WHERE C#=“C2”) B.SELECT S# FORM SC WHERE C#=“C2”AND GRADE IN(SELECT GRADE FORM SC WHERE C#=“C2”) C.SELECT S# FORM SC WHERE C#=“C2”AND GRADE NOT IN(SELECT GRADE FORM SC WHERE C#=“C2”) D.SELECT S# FORM SC WHERE C#=“C2”AND GRADE>=ALL(SELECT GRADE FORM SC WHERE C#=“C2”) 10.检索学生姓名及其所选修课程号和成绩。正确的SELECT语句是▁▁▁C▁▁。

关系数据库与SQL语言考试试题(doc 6页)

关系数据库与SQL语言考试试题(doc 6页)

关系数据库与SQL语言(共100分) A卷 一、单项选择题(本大题共20小题,每小题2分,共40分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将正确答案代码填写在答题纸相应位置上。 1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是阶段。 A.数据库系统 B.文件系统 C.人工管理 D.数据项管理 2.数据库管理系统能实现对数据库中数据的查询、插入、修改和删除等操作,这种功能称为。 A.数据定义功能 B.数据管理功能 C.数据操纵功能D.数据控制功能 3.下述关于数据库系统的正确叙述是。 A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余 C.数据库系统中数据的一致性是指数据类型一致 D.数据库系统比文件系统能管理更多的数据 4.在数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是。 A.外模式 B.内模式 C.存储模式 D.模式 5.数据库三级模式体系结构的划分,有利于保持数据库的。 A.数据独立性 B.数据安全性 C.结构规范化 D.操作可行性 6.关系数据模型。 A.只能表示实体间的1∶1联系 B.只能表示实体间的1∶n联系

C.只能表示实体间的m∶n联系 D.可以表示实体间的上述三种联系 7.实体是信息世界中的术语,与之对应的数据库术语为。 A.文件 B.数据库 C.字段 D.记录 8.关系数据库管理系统应能实现的专门关系运算包括。 A.排序、索引、统计 B.选择、投影、连接 C.关联、更新、排序 D.显示、打印、制表 9.在关系代数的专门关系运算中,从表中取出满足条件的属性的操作称为投影;从表中选出满足某种条件的元组的操作称为选择;将两个关系中具有共同属性值的元组连接到一起构成新表的操作称为。 A.选择 B.投影 C.连接 D.扫描 10.设有关系R,按条件f对关系R进行选择,正确的是。 A.R?R B.R ?? R C.σ f (R) D.∏ f (R) 11.SQL语言是的语言,易学习。 A.过程化 B.非过程化 C.格式化 D.导航式 12.SQL语言中,实现数据检索的语句是。 A.SELECT B.INSERT C.UPDATE D.DELETE 13.在SQL语言中,对输出结果排序的是_____________。 A、WHERE B、ORDER BY C、GROUP BY D、HAVING 14.在SELECT语句中使用MAX(列名)时,列名____________。 A.必须是数值型 B.必须是字符型 C.必须是数值型或字符型 D.不限制数据类型 15.假定零件关系是P(P#,PNAME,COLOR,WEIGHT),供应商关系是S(S#,SNAME,CITY),供应关系是SP(S#,P#,QUATY)。 要查找提供“螺母”零件的供应商的名字,将涉及到关系。 A.S B.SP,P C.S,SP D.S,P,SP 第16到第18题基于这样的三个表即职工表EMPLOYEE、供应商表SUPPLIER和订

关系数据库标准语言SQL汇总

关系数据库标准语言SQL 一、SQL概述与查询功能 1、SQL概述 SQL是Structured Query Language(结构化查询语言)的缩写。可以说查询是SQL语言的重要组成部分,但不是全部,SQL还包括数据定义、数据操纵和数据控制功能等部分。Visual FoxPro在SQL方面支持数据定义、数据查询和数据操纵功能,但在具体表现方面也存在一些差异,由于安全控制方面的缺陷,没有提供数据控制功能。 2、查询功能 Visual FoxPro的SQL SELECT命令格式如下:SELECT……FROM……[WHERE……][GROUP BY……][HAVING……][UNION[ALL]……][ORDER BY……] SELECT [ALL|DISTINCT][<别名>.]<选项>[AS<显示列名>][,[<别名>.]<选项>[AS<显示列名>]…]FROM [<数据库名>!]<表名>[[AS]<本地别名>][[INNER|LEFT|[OUTER]|RIGHT[OUTER]|FULL[OUTER]JI ON<数据库名>!]<表名>[AS]<本地别名>][ON<连接条件>…][[INTO<目标>|[TO FILE<文件名>][ADDITIVE]|TO PRINTER [PROMPT]|TO SCREEN]][PREFERENCE<参照名>][NOCONSOLE][PLAIN][NOWAIT][WHERE<连接条件

1>[AND <连接条件2>…]AND|OR <过滤条件1>[AND|OR <过滤条件2>…]]][GROUP BY <分组列名1>[,<分组列名2>…]][HAVING<过滤条件>][UNION[ALL]SELECT命令][ORDER BY <排序选项1>[ASC|DESC][,<排序选项2>[ASC|DESC]…]] SELECT说明要查询的数据。 FROM说明要查询的数据来自哪个(些)表。 WHERE说明查询条件,即选择元组的条件。 GROUP BY用于对查询结果进行分组,可以利用它进行分类汇总。HAVING必须跟随GROUP BY使用,客观存它用来限定分组必须满足的条件。 ORDER BY用来对查询的结果进行排序。 数据查询语句 SQL数据查询命令是SELECT命令。该命令的基本框架是SELECT…FROM…WHERE,它包含输出字段、数据来源、查询条件等基本子句。在这种固定格式中,可以不用WHERE,但是SELECT 和FROM是必备的。 基本查询 所谓基本查询是指无条件查询,其常用格式是: SELECT [ALL|DISTINCT][〈别名〉.]〈选项〉[AS 〈显示列名〉][,[〈别名〉.]〈选项〉[AS 〈显示列名〉…]]FROM 〈表

关系数据库与SQL语言试卷及(参考答案)

关系数据库与SQL语言(共1 00分) 一、单项选择题(本大题共20小题,每小题2分,共40分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将正确答案代码填写在答题纸相应位置上。 1.在数据库技术领域,术语DBMS指的是( A ) A.数据库管理系统B.数据库系统C.对象关系数据库系统D.分布式数据库 2.以下常见软件中,属于数据库管理系统的是( B ) A.Word 2007 B.Oracle 10G C.Visio 2003 D.QQ 2009 3.以下关于数据冗余的叙述中,不平确的是( A ) A.数据库中不应该存在任何冗余B.冗余的存在将给数据库的维护增加困难 C.冗余的存在可能导致数据的不一致性D.数据冗余是指在两个或多个文件或表中出现重复的数据 4.SQL Server 2000是常用的一种数据库产品,它所基于的数据模型是( B ) A.网状模型B.关系模型C.层次模型D.瀑布模型 5.假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选修课关系是SC(S#,C#,GRADE)。要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系( B ) A.S B.SC,C C.S,C,SC D.S,SC 6.设有关系R和S如图-1: 则R与S进行差运算,其结果的元组数为( D ) A.1 B. 5 C.3 D. 2 7.一个规范化的关系模式至少应属于(D ) A BCNF B 3NF C 2NF D 1NF 8.设有关系R如图-2所示: 则进行关系运算后所得结果的元组数为(D ) A 2 B 3 C 4 D 5 9.当关系模式R(A,B)属于3NF,下列说法中正确的是(A ) A 一定消除了插入和删除异常 B 可能仍存在插入或删除异常 C 一定消除了插入异常 D 一定消除了删除异常 10. 在关系R1(S,SN,D)和R2(D,CN,NM)中,R1的主键是S,R2的主键是D,则D在R1中称为(C )

实验一 关系数据库标准语言SQL

实验一关系数据库标准语言SQL 班级:姓名:学号: 任课教师:实验教师:上机时间: 【实验目的】 1、MS SQL SERVER认识及其环境熟悉,了解T-SQL对标准SQL的扩充。 2、掌握T-SQL环境下数据定义包括数据库、基本表、视图、索引定义。 3、掌握T-SQL环境下数据操纵包括数据插入、删除、修改。 4、掌握T-SQL环境下数据查询及其各种变化。 5、理解T-SQL环境下数据控制。 【实验性质】 验证性实验 【实验学时】 4H 【实验内容】 设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式: S(SNO,SNAME,STATUS,CITY) P(PNO,PNAME,COLOR,WEIGHT) J(JNO,JNAME,CITY) SPJ(SNO,PNO,JNO,QTY) 供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成; 零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成; 工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成; 供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。 今有若干数据如下:

请根据以上内容完成下面题目,写出相应的SQL语句。(空位不够请自行续页) 1、创建数据库,置为当前数据库 2、创建表 3、插入数据 4、请用SQL语句完成下面题目的查询。 (1)求供应工程J1零件的供应商号码SNO: (2)求供应工程J1零件P1的供应商号码SNO: (3)求供应工程J1零件为红色的供应商号码SNO: (4)求没有使用天津供应商生产的红色零件的工程号JNO: (5)求至少用了供应商S1所供应的全部零件的工程号JNO: 5、请用SQL语句完成下面题目的查询。 (1)找出所有供应商的姓名和所在城市。 (2)找出所有零件的名称、颜色、重量。 (3)找出使用供应商S1所供应零件的工程号码。 (4)找出工程项目J2使用的各种零件的名称及其数量。

关系数据库与SQL语言的练习试卷

关系数据库与SQL语言的练习试卷 一.选择题(每题1分) ⒈在SQL语言的SELECT语句中,实现投影操作的是哪个子句_____。 A) select B) from C) where D) group by ⒉在数据库中可以创建和删除表、视图、索引,可以修改表。这是因为数据库管理系统提供了 A)数据定义功能 B)数据操纵功能 C)数据维护功能 D)数据控制功能 ⒊数据库系统一般由哪些成分构成? I.数据库 II.数据库管理员 III.数据库管理系统及其工具 IV.用户 V.操作系统 VI.应用系统 A)I、II 和III B)I、II、III和IV C)I、II、III、IV和VI D)全部 ⒋在关系数据库中,索引(index)是三级模式结构中的 A)概念模式B)内模式C)模式D)外模式 ⒌关系模型有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。定义外键实现的是哪一(些)类完整性? A)实体完整性B)参照完整性C)用户定义的完整性 D)实体完整性、参照完整性和用户定义的完整性

⒍在下列关系代数的操作中,哪一个不属于专门的关系运算? A)自然连接 B)投影C)广义笛卡尔积 D)q 连接 ⒎结构化查询语言SQL在哪年被国际标准化组织(ISO)采纳,成为关系数据库语言的国际标准? A)1986 B)1987 C)1988 D)1989 ⒏下面关于SQL语言的说法中,哪一种说法是错误的? A)一个SQL数据库就是一个基本表 B)SQL语言支持数据库的三级模式结构 C)一个基本表可以跨多个存储文件存放,一个存储文件可以存放一个或多个基本表 D)SQL的一个表可以是一个基本表,也可以是一个视图 ⒐下面所列条目中,哪一条不是标准的SQL语句? A)ALTER TABLE B)ALTER VIEW C)CREATE TABLE D)CREATE VIEW 下面第(10)至(12)题,基于"学生-选课-课程"数据库中如下三个关系: S(S#,SNAME,SEX,AGE), SC(S#,C#,GRADE), C(C#,CNAME,TEACHER)⒑查找学生号为"200301188"的学生的"数据库"课程的成绩,至少将使用关系 A)S和SC B)SC和C C)S和C D)S、SC和C

关系数据库与SQL语言练习答案(完整版)

一. 1.选择题: 1.B 2.B 3.C 4.D 5.A 6.B 7.C 8.C 9.D 10.B 11.C 12.A 13.C 14.B 15.A 16.C 17.A 18.C 19.D 2.填空 1. 外模式 2. 个体 3. 实体集 4. 一对一,一对多,多对多 5. 型值 6. 层次模型网关模型关系模型 7. 并发性控制 8. 集成性 9. 封装对象类 10. 多媒体数据库 3.简答: 1. 数据: 描述事物的符号记录称为数据。数据的种类有文字、图形、图象、声音、正文等等。数据与其语义是不可分的。 数据库: 数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。

数据库系统: 数据库系统(dbs)是指在计算机系统中引入数据库后的系统构成。数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。 数据库管理系统: 数据库管理系统(dbms)是位于用户与操作系统之间的一层数据管理软件。用于科学地组织和存储数据、高效地获取和维护数据。dbms主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。 2. 使用数据库系统的好处是由数据库管理系统的特点或优点决定的。 使用数据库系统的好处很多,例如可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担等。 使用数据库系统可以大大提高应用开发的效率。因为在数据库系统中应用程序不必考虑数据的定义、存储和数据存取的具体路径,这些工作都由dbms来完成。用一个通俗的比喻,使用了dbms就如有了一个好参谋好助手,许多具体的技术工作都由这个助手来完成。开发人员就可以专注于应用逻辑的设计而不必为管理数据的许许多多复杂的细节操心。 还有,当应用逻辑改变,数据的逻辑结构需要改变时,由于数据库系统提供了数据与程序之间的独立性。数据逻辑结构的改变是dba的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序。从而既简化了应用程序的编制,又大大减少了应用程序的维护和修改。使用数据库系统可以减轻数据库系统管理人员维护系统的负担。因为dbms在数据库建立、运用和维护时对数据库进行统一的管理和控制,包括数据的完整性、安全性,多用户并发控制,故障恢复等等都由dbms执行。 总之,使用数据库系统的优点是很多的,既便于数据的集中管理,控制数据冗余,可以提高数据的利用率和一致性,又有利于应用程序的开发和维护。读者可以在自己今后的工作中结合具体应用,认真加以体会和总结。 3. 文件系统与数据库系统的区别: 文件系统面向某一应用程序,共享性差、冗余度大,独立性差,纪录内有结构、整体无结构,应用程序自己控制。 数据库系统面向现实世界,共享性高、冗余度小,具有高度的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力。 4. 实体,实体型,实体集,属性,码,实体联系图(e-r图) 实体:客观存在并可以相互区分的事物叫实体。 实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体称为实体型。 实体集:同型实体的集合称为实体集。 属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。 码:唯一标识实体的属性集称为码。 实体联系图:e-r图提供了表示实体型、属性和联系的方法: ·实体型:用矩形表示,矩形框内写明实体名。

实验报告2-关系数据库标准语言SQL

实验报告2-关系数据库标准语言SQL

实验2:关系数据库标准语言SQL 一.实验目的 通过本实验使学生掌握SQL语言的数据定义功能、数据查询功能和数据操纵功能。 二.实验类型验证型 三.实验学时 4学时 四.实验原理及知识点 1.SQL语言的数据查询功能 2.SQL语言的数据定义功能 3.SQL语言的数据操纵功能 五.实验环境 1.硬件设备要求:PC及其联网环境; 2.软件设备要求:Windows操作系统;MS SQL Server数据库管理系统。 六.实验内容及步骤 在STUDENT数据库中,根据要求使用SQL语言完成下列操作,将SQL语句以.sql文件的形式保存在自己的目录下。 1.查询选修了课程的学生的学号。 2.查询学生学号和出生年份。 3.查询计算机系学生的学号、姓名。 4.查询年龄在20岁与22岁之间(包括20和22岁)的学生姓名和年龄。 5.查询学生姓名中含有“波”字的学生情况。 6.查询缺少学习成绩的学生学号和课程号。 7.查询选修C601课程的学生的学号和成绩,并按分数的降序排列。 8.求选修了课程的学生人数。 9.求课程C601的平均成绩。 10.求选修课程超过2门的学生学号。 11.查询参加学习的学生所学的课程号和总分。 12.查询选修高等数学课程且成绩在80分以上的学生的学号、姓名。 13.查询每一课程的间接先行课(即先行课的先行课)。 14.查询年龄低于所有工程系学生的学生姓

名、所在系、年龄。 15.找出刘建平老师所开全部课程的课程号、课程名。 16.找出全部课程的任课教师。 17.求学生1203所学课程的总分。 18.找出所有姓张的学生的姓名和籍贯。 19.找出至少一门课程的成绩在90分以上的女学生的姓名。 20.求每一年龄上人数超过2的男生的具体人数,并按年龄从小到大排序。 21.把学生的学号及他的平均成绩定义为一个视图GRADE_VIEW。 22.创建一个从student、course、study表中查出计算机系的学生及其成绩的视图computer_view,要求显示学生的学号sno、姓名name、课程号cno、课程名称cname、成绩grade。 23.在Student表中依据学生姓名创建索引name_index。 24.在Study表中依据sno和cno创建索引main_index。 25.将课程C603的任课老师改为“赵明”。 26.在Student表中插入两个学生记录:'1201','吴华', '女',20,'成都','计算机系' '1102','张军', '男',21,'上海','工程系' 27.删除年龄在21岁以上的学生记录。 --1 SELECT DISTINCT Sno'学号' FROM Student_course;

关系数据库与SQL语言_习题答案

关系数据库与SQL语言_习题(黄旭明)参考答案 本章习题均基于以下假设:在某校,有关学生有学号、姓名、系别、出生日期等信息,有关课程有课程号、课程 名、选修课程等信息,每个学生只有一个学号、只在一个系、可以选修多门课程;每门课程只有一个课程号、可以 由多个学生选修,学生选修课程产生成绩。 这些数据在名为Student的数据库中进行管理,其中各表逻辑结构设计如下: 表名:学生 属性:学号(定长字符串,12) 如:200210515001,2002年,105系别,15专业代码,001学生编号 姓名(变长字符串,20,非空) 出生日期(日期时间,非空) 是否党员(逻辑型) 班委(定长字符串,8) 主键:学号 表名:课程 属性:课程号(定长字符串,3) 课程名称(变长字符串,20) 先修课号(定长字符串,3) 主键:课程号 外键:先修课号 其值取自本表主键“课程号”的值 表名:成绩表 属性:学号(定长字符串,12) 课程号(定长字符串,3) 成绩(整数,3,取值0~100) . 主键:(学号,课程号) 外键:学号 其值取自表“学生”主键“学号”的值. 课程号 其值取自表“课程”主键“课程号”的值 1.用SQL语言创建一个数据库,命名为Student。 Create dababase student 2.在Student数据库中,用SQL语言建立以上各表。 1)Create table 学生(学号 char(12) primary key,姓名 varchar(20) not null,出生日期datetime not null,是否党员 bit,班委 char(8)) 2)Create table 课程(课程号 char(3) primary key,课程名称 varchar(20) ,先修课号char(3) foreign key references 课程(课程号)) 3)Create table 成绩表(学号 char(12) foreign key references 学生(学号),课程号char(3) foreign key references 课程(课程号),成绩 smallint check(成绩 between 0 and 100),primary key (学号,课程号))

关系数据库标准语SQL习题五

关系数据库标准语SQL习题五一、单选题 1.Visual FoxPro中支持的SQL功能不包括()。A)数据定义 B)数据修改 C)数据查询 D)数据控制 2.SQL SELECT语句的功能是()。 A)定义 B)查询 C)修改 D)控制 3.SELECT语句中,用于排序的子句是()。 A)ORDER BY B)FROM C)GROUP BY D)INTO 4.SELECT语句中用于分组的短语是()。 A)ORDER BY B)MODIFY C)GROUP BY D)SUM

5.下面有关HAVING子句的描述错误的是()。 A)HAVING子句必须与GROUP BY子句同时使用,不能单独使用 B)使用HAVING子句的同时不能使用WHERE子句 C)使用HAVING子句的同时可以使用WHERE子句 D)使用HAVING子句的作用是限定分组的条件 6.SELECT语句中,只有满足连接条件的记录才能包含在查询结果中的选项是()。A)LEFT JOIN B)RIGHT JOIN C)INNER JOIN D)FULL JOIN 7.下列是字符串匹配运算符的是()。 A)LIKE B)AND C)IN D)= 8.SELECT语句中,表达式“工资BETWEEN 1220 AND 1250”的含义是()。 A)工资> 1220 AND 工资< 1250 B)工资> 1220 OR 工资< 1250 C)工资>= 1220 AND 工资<= 1250 D)工资>= 1220 OR 工资<= 1250 9.UPDATE语句的功能是()。 A)属于数据定义功能

B)可以修改表中列的内容 C)属于数据查询功能 C)可以修改表中列的属性 10.要为“职工”表的所有职工增加100元工资,正确的SQL命令是()。A)REPLACE 职工SET 工资= 工资+100 B)UPDATE 职工SET 工资= 工资+100 C)EDIT 职工SET 工资= 工资+100 D)CHANGE 职工SET 工资= 工资+100

第六章数据库标准语言SQL

第六章关系数据库标准语言SQL 大纲要求 关系数据库标准语言SQL 1、SQL的数据定义功能: (1)CREATE TABLE–SQL (2)ALTER TABLE–SQL 2、SQL的数据修改功能: (1)DELETE–SQL (2)INSERT–SQL (3)UPDATE–SQL 3、SQL的数据查询功能: (1)简单查询。 (2)嵌套查询。 (3)连接查询。 内连接 外连接:左连接、右连接、完全连接 (4)分组与计算查询。 (5)集合的并运算。 知识要点 一、SQL语言的特点 1.综合统一 SQL语言集数据定义(DDL)、数据操纵(DML)、数据管理(DCL)的功能于一体,语言风格统一,可以独立完成数据库的全部操作,包括定义关系模式、录入数据及建立数据库、查询、更新、维护数据、数据库的重新构造、数据库安全性等一系列操作的要求,为数

据库应用系统开发者提供了良好的环境。 2.高度非过程化 3.语言简洁,易学易用 4.以同一种语法结构提供两种使用方式 既可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以程序方式使用。二、SQL语言的基本概念 SQL语言支持关系型数据库的三级模式结构。其中外模式对应于视图(View)和部分基本表(Base Table),模式对应于基本表,内模式对应于存储文件。 基本表是本身独立存在的表,在SQL语言中一个关系对应一个表。一些基本表对应一个存储文件,一个表可以带若干索引,索引存放在存储文件中。 存储文件的逻辑结构组成了关系型数据库的内模式。而存储文件的物理文件结构是任意的。 视图是从基本表或其他视图中导出的表,它本身不独立存储在数据库中,也就是说数据库只存放在视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中,因此视图是一个虚表。 三.数据定义 数据定义语言DDL用于执行数据定义的操作,如创建或删除表、索引和视图之类的对象。由CREATE、DROP、ALTER命令组成,完成数据库对象的建立(CREATE)、删除(DROP)和修改(ALTER)。 1.定义(创建)表【格式】: CREATE TABLE<表名>(<字段名1><数据类型>; [(<宽度>[,<小数位数>])][完整性约束]; [NULL|NOT NULL][,<字段名2>…]) 【功能】定义(也称创建)一个表。 【例1】创建一个表SC(课程成绩表),它由以下字段组成:学号(C,10);课程号(C,2)。

关系数据库与SQL语言考试试题

关系数据库与SQL语言(共100分) A卷 一、单项选择题(本大题共20小题,每小题2分,共40分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将正确答案代码填写在答题纸相应位置上。 1.在数据治理技术的进展过程中,经历了人工治理时期、文件系统时期和数据库系统时期。在这几个时期中,数据独立性最高的是时期。 A.数据库系统 B.文件系统 C.人工治理 D.数据项治理 2.数据库治理系统能实现对数据库中数据的查询、插入、修改和删除等操作,这种功能称为。 A.数据定义功能 B.数据治理功能 C.数据操纵功能D.数据操纵功能 3.下述关于数据库系统的正确叙述是。 A.数据库系统减少了数据冗余 B.数据库系统幸免了一切冗余 C.数据库系统中数据的一致性是指数据类型一致 D.数据库系统比文件系统能治理更多的数据

4.在数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是。 A.外模式 B.内模式 C.存储模式 D.模式5.数据库三级模式体系结构的划分,有利于保持数据库的。 A.数据独立性 B.数据安全性 C.结构规范化 D.操作可行性 6.关系数据模型。 A.只能表示实体间的1∶1联系 B.只能表示实体间的1∶n联系 C.只能表示实体间的m∶n联系 D.能够表示实体间的上述三种联系 7.实体是信息世界中的术语,与之对应的数据库术语为。 A.文件 B.数据库 C.字段 D.记录8.关系数据库治理系统应能实现的专门关系运算包括。 A.排序、索引、统计 B.选择、投影、连接 C.关联、更新、排序 D.显示、打印、制表

9.在关系代数的专门关系运算中,从表中取出满足条件的属性的 操作称为投影;从表中选出满足某种条件的元组的操作称为选 择;将两个关系中具有共同属性值的元组连接到一起构成新表的 操作称为。 A.选择 B.投影 C.连接 D.扫描 10.设有关系R,按条件f对关系R进行选择,正确的 是。 A.R R B.R R C. f(R) D.f(R) 11.SQL语言是的语言,易学习。 A.过程化 B.非过程化 C.格式化 D.导航式 12.SQL语言中,实现数据检索的语句是。 A.SELECT B.INSERT C.UPDATE D.DELETE 13.在SQL语言中,对输出结果排序的是_____________。 A、WHERE B、ORDER BY C、GROUP BY D、 HAVING

相关主题
文本预览
相关文档 最新文档