当前位置:文档之家› SQL语言练习题和答案

SQL语言练习题和答案

SQL语言练习题和答案
SQL语言练习题和答案

第三章SQL语言

一、选择题

1. SQL语言是(B )的语言,容易学习。

A.过程化

B. 非过程化

C.格式化

D. 导航式

2. SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE、DELETE等。其中最重要的,也是使用最频繁的语句是(A)。

A. SELECT

B. INSERT

C. UPDATE

D. DELETE

3. 在视图上不能完成的操作是()。

A. 更新视图

B. 查询

C. 在视图上定义新的表

D. 在视图上定义新的视图

4. SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能()。

A. 数据查询

B. 数据操纵

C. 数据定义

D. 数据控制

5. SQL语言中,删除一个视图的命令是()。

6. 在SQL语言中的视图VIEW是数据库的()。

A. 外模式

B. 模式

C. 内模式

D. 存储模式

7. 下列的SQL语句中,()不是数据定义语句。

A. CREATE TABLE

B. DROP VIEW

C. CREATE VIEW

D. GRANT

8. 若要撤销数据库中已经存在的表S,可用()。

A. DELETE TABLE S

B. DELETE S

C. DROP TABLE S

D. DROP S

9. 若要在基本表S中增加一列CN(课程名),可用()。

TABLE S(CN CHAR(8))

TABLE S ALTER(CN CHAR(8))

TABLE S ADD(CN CHAR(8))

TABLE S (ADD CN CHAR(8))

10. 学生关系模式S(S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。要在表S中删除一个属性“年龄”,可选用的SQL语句是()。

A. DELETE Age from S

B. ALTER TABLE S DROP Age

C. UPDATE S Age

D. ALTER TABLE S ‘Age’

11. 有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。其中S#是学生号,SNAME是学生姓名,SAGE是学生年龄,C#是课程号,CNAME是课程名称。要查询选修“ACCESS”课的年龄不小于20的全体学生姓名的SQL语句是SELECT SNAME FROM S,C,SC WHERE子句。这里的WHERE子句的内容是()。

A. # = # and # = # and SAGE>=20 and CNAME=‘ACCESS’

B. # = # and # = # and SAGE in>=20 and CNAME in ‘ACCESS’

C. SAGE in>=20 and CNAME in ‘ACCESS’

D. SAGE>=20 and CNAME=’ ACCESS’

12. 设关系数据库中一个表S的结构为S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。若要把“张二的化学成绩80分”插入S中,则可用()。

A. ADD

INTO S

VALUES(’张二’,’化学’,’80’)

B. INSERT

INTO S

VALUES(’张二’,’化学’,’80’)

C. ADD

INTO S

VALUES(’张二’,’化学’,80)

D. INSERT

INTO S

VALUES(’张二’,’化学’,80)

13. 设关系数据库中一个表S的结构为:S(SN,CN,grade),其中SN为学生名,CN 为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。若要更正王二的化学成绩为85分,则可用()。

A. UPDATE S

SET grade=85

WHERE SN=’王二’ AND CN=’化学’

B. UPDATE S

SET grade=’85’

WHERE SN=’王二’ AND CN=’化学’

C. UPDATE grade=85

WHERE SN=’王二’ AND CN=’化学’

D. UPDATE grade=’85’

WHERE SN=’王二’ AND CN=’化学’

14. 在SQL语言中,子查询是()。

A. 返回单表中数据子集的查询语言

B. 选取多表中字段子集的查询语句

C. 选取单表中字段子集的查询语句

D. 嵌入到另一个查询语句之中的查询语句

15. SQL是一种()语言。

A. 高级算法

B. 人工智能

C. 关系数据库

D. 函数型

16. 有关系S(S#,SNAME,SEX),C(C#,CNAME),SC(S#,C#,GRADE)。其中S#是学生号,SNAME是学生姓名,SEX是性别,C#是课程号,CNAME是课程名称。要查询选修“数据库”课的全体男生姓名的SQL语句是SELECT SNAME FROM S,C,SC WHERE子句。这里的WHERE子句的内容是()。

= # and # = # and SEX=’男’ and CNAME=’数据库’

= # and # = # and SEX in’男’and CNAME in’数据库’

’男’ and CNAME ’ 数据库’

男’ and CNAME=’ 数据库’

17. 若用如下的SQL语句创建了一个表SC:

CREATE TABLE SC (S# CHAR(6)NOT NULL,C# CHAR(3)NOT NULL,SCORE INTEGER,NOTE CHAR(20));向SC表插入如下行时,()行可以被插入。

A.(’201009’,’111’,60,必修)

B.(’200823’,’101’,NULL,NULL)

C.(NULL,’103’,80,’选修’)

D.(’201132’,NULL,86,’ ’)

18. 假设学生关系S(S#,SNAME,SEX),课程关系C(C#,CNAME),学生选课关系SC(S#,C#,GRADE)。要查询选修“Computer”课的男生姓名,将涉及到关系()。

A. S

B. S,SC

C. C,SC

D. S,C,SC

二、简答题

1. 试述SQL语言的特点。

答:

(1)综合统一。SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体。

(2)高度非过程化。用SQL语言进行数据操作,只要提出“做什么”,而无须指明“怎么做”,因此无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。

(3)面向集合的操作方式。SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。

(4)以同一种语法结构提供两种使用方式。SQL语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式,也能够嵌入到高级语言程序中,供程序员设计程序时使用。

(5)语言简捷,易学易用。

2. 试述SQL的定义功能。

答:SQL的数据定义功能包括定义表、定义视图和定义索引。

SQL语言使用CREATE TABLE语句定义建立基本表,;ALTER TABLE语句修改基本表定义,DROP TABLE语句删除基本表;建立索引使用CREATE INDEX语句建立索引,DROP INDEX语句删除索引表;SQL语言使用CREATE VIEW命令建立视图,DROP VIEW语句删除视图。

3. 用SQL语句建立第3章习题3中的四个表。

答:对于S表:S( SNO,SNAME,STATUS,CITY);

建S表

CREATE TABLE S

(SNO CHAR(3),

SNAME CHAR(10),

STATUS CHAR(2),

CITY CHAR(10));

P(PNO,PNAME,COLOR,WEIGHT);

建P表

CREATE TABLE P

(PNO CHAR(3),

PNAME CHAR(10),

COLOR CHAR(4),

WEIGHT INT);

J(JNO,JNAME,CITY);

建J表

CREATE TABLE J

(JNO CHAR(3),

JNAME CHAR(10),

CITY CHAR(10));

SPJ(SNO,PNO,JNO,QTY);

建SPJ表

CREATE TABLE SPJ

(SNO CHAR(3),

PNO CHAR(3),

JNO CHAR(3),

QTY INT);

4. 针对上题中建立的四个表试用SQL语言完成第3章习题3中的查询。答:(1)求供应工程J1零件的供应商号码SNO;

SELECT SNO

FROM SPJ

WHERE JNO=‘J1’;

(2)求供应工程J1零件P1的供应商号码SNO;

SELECT SNO

FROM SPJ

WHERE JNO=‘J1’

AND PNO=‘P1’;

(3)求供应工程J1零件为红色的供应商号码SNO;

SELECT SNO

FROM SPJ

WHERE JNO=‘J1’

AND PNO IN

(SELECT PNO

FROM P

W HERE COLOR=‘红’);

SELECT SNO

FROM SPJ,P

WHERE JNO=‘J1’

AND =

AND COLOR=‘红’;

(4)求没有使用天津供应商生产的红色零件的工程号JNO;

解析:

用SQL语言表示如下:

SELECT JNO

FROM J

WHERE NOT EXISTS

(SELECT *

FROM SPJ

WHERE =

AND SNO IN

(SELECT SNO

FROM S

WHERE CITY=‘天津’)

AND PNO IN

(SELECT PNO

FROM P

WHERE COLOR=‘红’));

SELECT JNO

FROM J

WHERE NOT EXISTS

(SELECT *1

FROM SPJ, S, P

WHERE =

AND =

AND =

AND =‘天津’

AND P. COLOR=‘红’);

注意:从J 表入手,以包含那些尚未使用任何零件的工程号。(5)求至少用了供应商S1所供应的全部零件的工程号JNO 。解析:

用SQL语言表示如下:

SELECT DISTINCT JNO

FROM SPJ SPJZ

WHERE NOT EXISTS

(SELECT *

FROM SPJ SPJX

WHERE SNO='S1'

AND NOT EXISTS

(SELECT *

FROM SPJ SPJY

WHERE =

AND =

AND =’S1’));

AND ='S1' ));

5. 针对习题3中的四个表试用SQL语言完成以下各项操作:

(1)找出所有供应商的姓名和所在城市。

(2)找出所有零件的名称、颜色、重量。

(3)找出使用供应商S1所供应零件的工程号码。

(4)找出工程项目J2使用的各种零件的名称及其数量。

(5)找出上海厂商供应的所有零件号码。

(6)找出使用上海产的零件的工程名称。

(7)找出没有使用天津产的零件的工程号码。

(8)把全部红色零件的颜色改成蓝色。

(9)由S5供给J4的零件P6改为由S3供应,请作必要的修改。

(10)从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录。(11)请将(S2,J6,P4,200) 插入供应情况关系。

答:(1) 找出所有供应商的姓名和所在城市。

SELECT SNAME, CITY

FROM S;

(2) 找出所有零件的名称、颜色、重量。

SELECT PNAME, COLOR, WEIGHT

FROM P;

(3) 找出使用供应商S1所供应零件的工程号码。

SELECT JNO

FROM SPJ

WHERE SNO=‘S1’;

(4) 找出工程项目J2使用的各种零件的名称及其数量。

SELECT ,

FROM P, SPJ

WHERE =

AND ='J2';

(5) 找出上海厂商供应的所有零件号码。

SELECT DISTINCT PNO

FROM SPJ

WHERE SNO IN

(SELECT SNO

FROM S

WHERE CITY='上海');

(6) 找出使用上海产的零件的工程名称。

SELECT JNAME

FROM J, SPJ, S

WHERE J. JNO=SPJ. JNO

AND SPJ. SNO=

AND ='上海';

SELECT JNAME

FROM J

WHERE JNO IN

(SELECT JNO

FROM SPJ, S

WHERE SPJ. SNO=

AND ='上海');

(7) 找出没有使用天津产的零件的工程号码。

SELECT JNO

FROM J

WHERE NOT EXISTS

(SELECT *

FROM SPJ

WHERE = AND SNO IN

(SELECT SNO

FROM S

WHERE CITY=‘天津’));

SELECT JNO

FROM J

WHERE NOT EXISTS

(SELECT *1

FROM SPJ, S

WHERE = AND = AND =‘天津’);

(8) 把全部红色零件的颜色改成蓝色。

UPDATE P

SET COLOR='蓝'

WHERE COLOR='红' ;

(9) 由S5供给J4的零件P6改为由S3供应,请作必要的修改。

UPDATE SPJ

SET SNO='S3'

WHERE SNO='S5' AND JNO='J4' AND PNO='P6';

(10) 从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录。

DELETE

FROM SPJ

WHERE SNO='S2';

DELETE

FROM S

WHERE SNO='S2';

解析:注意删除顺序,应该先从SPJ表中删除供应商S2所供应零件的记录,然后从从S 表中删除S2。

(11) 请将(S2,J6,P4,200) 插入供应情况关系。

INSERT INTO SPJ(SNO, JNO, PNO, QTY)

VALUES (S2,J6,P4,200);

INSERT INTO SPJ

VALUES (S2,P4,J6,200);

6. 什么是基本表什么是视图两者的区别和联系是什么

答:基本表是本身独立存在的表,在SQL中一个关系就对应一个表。

视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。

7. 试述视图的优点。

答:(1)视图能够简化用户的操作。

(2)视图使用户能以多种角度看待同一数据。

(3)视图对重构数据库提供了一定程度的逻辑独立性。

(4)视图能够对机密数据提供安全保护。

8. 所有的视图是否都可以更新为什么

答:不是。视图是不实际存储数据的虚表,因此对视图的更新,最终要转换为对基本表的更新。因为有些视图的更新不能唯一地有意义地转换成对相应基本表的更新,所以,并不是所有的视图都是可更新的。如《概论》3.5.1中的视图S_G(学生的学号及他的平均成绩)CREAT VIEW S_G(Sno,Gavg)

AS SELECT Sno,AVG(Grade)

FROM SC

GROUP BY Sno;

要修改平均成绩,必须修改各科成绩,而我们无法知道哪些课程成绩的变化导致了平均成绩的变化。

9. 哪类视图是可以更新的,哪类视图是不可更新的各举一例说明。

答:基本表的行列子集视图一般是可更新的。如《概论》3.5.3中的例1。

若视图的属性来自集函数、表达式,则该视图肯定是不可以更新的。

如《概论》3.5.3中的S_G视图。

10. 试述某个你熟悉的实际系统中对视图更新的规定。

答:(略)

解析:不同的系统对视图更新的规定是不同的,读者必须了解你所用系统对视图更新的规定。

11. 请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件

代码(PNO)、供应数量(QTY)。针对该视图完成下列查询:

(1)找出三建工程项目使用的各种零件代码及其数量。

(2)找出供应商S1的供应情况。

答:建视图:

CREATE VIEW V_SPJ AS

SELECT SNO, PNO, QTY

FROM SPJ

WHERE JNO=

(SELECT JNO

FROM J

WHERE JNAME='三建');

对该视图查询:

(1) 找出三建工程项目使用的各种零件代码及其数量。

SELECT PNO, QTY

FROM V_SPJ;

(2) 找出供应商S1的供应情况。

SELECT PNO, QTY /* S1供应三建工程的零件号和对应的数量*/ FROM V_SPJ

WHERE SNO='S1';

关系数据库标准语言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(一) (总分: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练习题

第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汇总

关系数据库标准语言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、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使用的各种零件的名称及其数量。

实验报告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习题五一、单选题 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)。

数据库 第3章 关系数据库标准语言SQL练习及答案题

第3章关系数据库标准语言SQL练习题 1.SQL语言是()的语言,容易学习。 A. 过程化 B.非过程化 C.格式化 D.导航式 2.在视图上不能完成的操作是()。 A.更新视图 B.查询 C.在视图上定义新的表 D.在视图上定义新的视图 3.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能()。 A.数据查询 B.数据操纵 C.数据定义 D.数据控制 4. SQL语言中,删除一个视图的命令是()。 A.DELETE B.DROP C.CLEAR D.REMOVE 5.在SQL语言中的视图VIEW是数据库的()。 A.外模式 B.模式 C.内模式 D.存储模式 6.下列的SQL语句中,()不是数据定义语句。 A.CREATE TABLE B.DROP VIEW C.CREATE VIEW D.GRANT 7.若要撤销数据库中已经存在的表S,可用()。 A.DELETE TABLE S B.DELETE S C.DROP TABLE S D.DROP S 8.若要在基本表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)) 9.学生关系模式 S( S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。要在表S中删除一个属性“年龄”,可选用的SQL语句是()。 A.DELETE Age from S B.ALTER TABLE S DROP Age C.UPDATE S Age D.ALTER TABLE S ‘Age’ 10.有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。其中S#是学生号,SNAME是学生姓名,SAGE是学生年龄, C#是课程号,CNAME 是课程名称。要查询选修“ACCESS”课的年龄不小于20的全体学生姓名的SQL 语句是 SELECT SNAME FROM S,C,SC WHERE子句。这里的WHERE子句的内容是

关系数据库标准语言SQL例题

关系数据库标准语言SQL 一、选择题 1.若用如下的SQL语句创建了一个表SC: CREATE TABLE SC(S# CHAR(6)NOT NULL, C# CHAR(3)NOT NULL, SCORE INTEGER,NOTE CHAR(20)) 今向SC表插入如下行时,()行可以被插入。 A.(‘201009’,‘111’,60,必修)B.(‘200823’,‘101’,NULL,NULL)C.(NULL,‘103’,80,‘选修’)D.(‘201132’,NULL,86,‘’) 2.在数据库的如下两个表中,若学生成绩表的主键是学生号和课程名,学生表的主键是学生号。在下列所给的操作中,()操作不能执行。 A.从学生成绩表中删除行(‘001’,‘001’,60) B.将行(‘0102’,‘002’,80)插入到学生成绩表中 C.将学生成绩表中学生号=‘0101’的成绩改为60 D.将学生成绩表中学生号=‘0103’的学号改为‘0104’ 3.有关系S(S#,SNAME,SEX),SC(S#,C#,GRADE),C(C#,CNAME)。其中S#为学生号,SNAME为学生姓名,SEX为性别,C#为课程号,CNAME为课程名。要查询选修“数据库”课的全体男学生姓名的SQL语句是SELECT SNAME FROM S,C,SC WHERE子句。这里WHERE 子句的内容是()。 A.S.S#=SC.S# AND C.C#=SC.C# AND SEX=’男’ AND CNAME=‘数据库’ B.S.S#=SC.S# AND C.C#=SC.C# AND SEX IN ‘男’AND CNAME IN ‘数据库’ C.SEX=’男’ AND CNAME=‘数据库’D.S.SEX =‘男’AND CNAME=‘数据库’4.有如下关系:课程表C,主键为C_ID(CHAR(4))。

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