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

第三章关系数据库标准语言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.REMOVE5.在SQL语言中,视图对应于数据库的______。
A.外模式B.模式C.内模式D.存储模式6.在下列SQL语句中,______不是数据定义语句。
A.CREATE TABLE B.DROP VIEWC.CREATE VIEW D.GRANT7.若要除去数据库中已经存在的表S,可用。
A.DELETE TABLE S B.DELETE SC.DROP TABLE S D.DROP S8.若要在基本表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(Sno, Sname, Ssex, Sage)的Sage属性,可用。
A.DELETE Sage FROM S B.ALTER TABLE S DROP SageC.UPDATE S Sage D.ALTER TABLE S ‘Sage’10.设有学生关系S(Sno, Sname, Sage),课程关系C(Cno, Cname),选修关系SC(Sno, Cno, Grade),其中Sno是学号,Sname是学生姓名,Sage是学生年龄,Cno是课程号,Cname是课程名,Grade是成绩。
关系数据库语言SQL习题与答案

关系数据库语言SQL习题与答案一,选择题1,下面关于SQL语言的叙述中,哪一条是错误的( ).A.SQL既可作为联机交互环境中的查询语言又可嵌入到主语言中B.SQL没有数据控制功能C.使用SQL用户只能定义索引而不能引用索引D.使用SQL用户可以定义和检索视图2,SQL语言是( )A.高级语言B.编程语言C.结构化查询语言D.宿主语言3,在学生数据库中,用SQL语句列出的所有女生的姓名,应该对学生关系进行( )操作.A.选择B.连接C.投影D.选择和投影4,NULL是指( )A.0B.空格C.无任何值D.空字符串5,下列哪条语句不属于SQL数据操纵功能范围( )A.SELECTB. CREAT TABLEC.DELETED.INSERT6,用( )命令可建立唯一索引A.CREATE TABLEB.CREATE CLUSTERC.CREATE INDEXD.CREATE UNIQUE INDEX二,填空题1,SQL语言的使用方式有两种,一种是 ,另一种是2,在SQL查询中,WHERE子句的功能是 .3,视图是一个虚表,它是从的表.4,SQL语言的数据操纵功能包括 , , ,和 ,5,在SQL支持的关系数据库三级模式结构中,外模式对应于 ,模式对应于 ,内模式对应于 .6,在SELECT语句中,HAVING子句必须跟在子句后面.三,问题及操作题1,名词解释SQL模式 SQL数据库基本表视图相关子查询联接查询嵌入式SQL 游标2,对于教学数据库的三个基本表学生 S(S#,SNAME,AGE,SEX)学习 SC(S#,C#,GRADE)课程 C(C#,CNAME,TEACHER)试用SQL的查询语句表达下列查询:(1)检索LIU老师所授课程的课程号和课程名.(2)检索年龄大于23岁的男学生的学号和姓名.(3)检索至少选修LIU老师所授课程中一门课程的女学生姓名.( 4) 检索WANG同学不学的课程的课程号.(5)检索至少选修两门课程的学生学号.(6)检索全部学生都选修的课程的课程号与课程名.(7)检索选修课程包含LIU老师所授课的学生学号.3, 设有两个基本表R(A,B,C)和S(A,B,C)试用SQL查询语句表达下列关系代数表达式:(1)R∪S (2)R∩S (3)R-S (4)πA,B(R)πB,C(S)4, 试用SQL查询语句表达下列对教学数据库中三个基本表S,SC,C的查询:(1)统计有学生选修的课程门数.(2)求选修C4课程的学生的平均年龄.(3)求LIU老师所授课程的每门课程的学生平均成绩.(4)统计每门课程的学生选修人数(超过10人的课程才统计).要求输出课程号和选修人数, 查询结果按人数降序排列,若人数相同,按课程号升序排列.(5)检索学号比WANG同学大,而年龄比他小的学生姓名.(6)检索姓名以WANG打头的所有学生的姓名和年龄.(7)在SC中检索成绩为空值的学生学号和课程号.(8)求年龄大于女同学平均年龄的男学生姓名和年龄.5, 试用SQL更新语句表达对教学数据库中三个基本表S,SC,C的各个更新操作:(1)往基本表S中插入一个学生元组('S9','WU',18).(2)在基本表S中检索每一门课程成绩都大于等于80分的学生学号,姓名和性别, 并把检索到的值送往另一个已存在的基本表STUDENT(S#,SANME,SEX).(3)在基本表SC中删除尚无成绩的选课元组.(4)把WANG同学的学习选课和成绩全部删去(5)把选修MATHS课不及格的成绩全改为空值.(6)把低于总平均成绩的女同学成绩提高5%.(7)在基本表SC中修改C4课程的成绩,若成绩小于等于75分时提高5%, 若成绩大于75分时提高4%(用两个UPDATE语句实现).6, 在宿主语言的程序中使用SQL语句有哪些规定7,嵌入式SQL语句何时不必涉及到游标何时必须涉及到游标答案:一,1,B 2,C 3,D 4,C 5,B 6,D二,1,嵌入式交互式 2,选择3,基本表导出的表 4,数据查询数据更新数据插入数据删除5,视图或部分基本表基本表存储文件6,GROUP BY三,1,名词解释SQL模式:SQL模式是表和授权的静态定义.一个SQL模式定义为基本表的集合. 一个由模式名和模式拥有者的用户名或账号来确定,并包含模式中每一个元素(基本表,视图,索引等)的定义.SQL数据库:SQL(Structured Query Language),即'结构式查询语言',采用英语单词表示和结构式的语法规则. 一个SQL数据库是表的汇集,它用一个或多个SQL模式定义.基本表:在SQL中,把传统的关系模型中的关系模式称为基本表(Base Table). 基本表是实际存储在数据库中的表,对应一个关系.视图:在SQL中,把传统的关系模型中的子模式称为视图(View),视图是从若干基本表和(或)其他视图构造出来的表.相关子查询:在嵌套查询中出现的符合以下特征的子查询:子查询中查询条件依赖于外层查询中的某个值, 所以子查询的处理不只一次,要反复求值,以供外层查询使用.联接查询:查询时先对表进行笛卡尔积操作,然后再做等值联接,选择,投影等操作. 联接查询的效率比嵌套查询低.嵌入式SQL:嵌入在高级语言的程序中使用的SQL语言称为嵌入式SQL.游标:游标是与某一查询结果相联系的符号名,用于把集合操作转换成单记录处理方式.2,(1)检索LIU老师所授课程的课程号和课程名.SELECT C#,CNAMEFROM CWHERE TEACHER='LIU'(2)检索年龄大于23岁的男学生的学号和姓名.SELECT S#,SNAMEFROM SWHERE (AGE>23) AND (SEX='M')(3)检索至少选修LIU老师所授课程中一门课程的女学生姓名. SELECT SNAMEFROM SWHERE SEX='F' AND S# IN(SELECT S#FROM SCWHERE C# IN(SELECT C#FROM CWHERE TEACHER='LIU')NOTICE:有多种写法,比如联接查询写法:SELECT SNAMEFROM S,SC,CWHERE SEX='F' AND SC.S#=S.S#AND SC.C#=C.C#AND TEACHER='LIU'但上一种写法更好一些.(4)检索WANG同学不学的课程的课程号.SELECT C#FROM CWHERE C# NOT INFROM SCWHERE S# IN(SELECT S#FROM SWHERE SNAME='WANG'))(5)检索至少选修两门课程的学生学号.SELECT DISTINCT X.SNOFROM SC X,SC YWHERE X.SNO=Y.SNO AND ONotice:对表SC进行自连接,X,Y是SC的两个别名.(6)检索全部学生都选修的课程的课程号与课程名.SELECT C#,CNAMEFROM CWHERE NOT EXISTS(SELECT *FROM SWHERE S# NOT IN(SELECT *FROM SCWHERE SC.C#=C.C#))要从语义上分解:(1)选择课程的课程号与课程名,不存在不选这门课的同学.其中,"不选这门课的同学"可以表示为:FROM SWHERE S# NOT IN(SELECT *FROM SCWHERE SC.C#=C.C#)或者SELECT *FROM SWHERE NOT EXISTS(SELECT *FROM SCWHERE S.S#=C.S# ANDSC.C#=C.C# )(7)检索选修课程包含LIU老师所授课的学生学号. SELECT DISTINCT S#FROM SCWHERE C# IN(SELECT C#FROM CWHERE TEACHER='LIU'))3,(1)SELECT A,B,CFROM RUNIONSELECT A,B,CFROM S(2)SELECT A,B,CFROM RINTERSECTSELECT A,B,CFROM S(3)SELECT A,B,CFROM RWHERE NOT EXISTS(SELECT A,B,CFROM SWHERE R.A=S.A AND R.B=S.B AND R.C=S.C) (4)SELECT R.A,R.B,S.CFROM R,SWHERE R.B=S.B4, (1)统计有学生选修的课程门数. SELECT COUNT(DISTINCT C#) FROM SC (2)求选修C4课程的学生的平均年龄. SELECT AVG(AGE)FROM SWHERE S# IN(SELECT S#FROM SCWHERE C#='C4')或者,SELECT AVG(AGE)FROM S,SCWHERE S.S#=SC.S# AND C#='004'(3)求LIU老师所授课程的每门课程的学生平均成绩.SELECT CNAME,AVG(GRADE)FROM SC ,CWHERE SC.C#=C.C# AND TEACHER='LIU'GROUP BY C#(4)统计每门课程的学生选修人数(超过10人的课程才统计).要求输出课程号和选修人数, 查询结果按人数降序排列,若人数相同,按课程号升序排列.SELECT DISTINCT C#,COUNT(S#)FROM SCGROUP BY C#HAVING COUNT(S#)>10ORDER BY 2 DESC, C# ASC(5)检索学号比WANG同学大,而年龄比他小的学生姓名.SELECT X.SNAMEFROM S AS X, S AS YWHERE Y.SNAME='WANG' AND X.S#>Y.S# AND X.AGE(SELECT AVG(AGE) FROM S AS Y WHERE Y.SEX='女')5, (1)往基本表S中插入一个学生元组('S9','WU',18).INSERT INTO S(S#,SNAME,AGE) VALUES('59','WU',18)(2)在基本表S中检索每一门课程成绩都大于等于80分的学生学号,姓名和性别, 并把检索到的值送往另一个已存在的基本表STUDENT(S#,SANME,SEX).INSERT INTO STUDENT(S#,SNAME,SEX)SELECT S#,SNAME,SEXFROM S WHERE NOT EXISTS(SELECT * FROM SC WHEREGRADE<80 AND S.S#=SC.S#)(3)在基本表SC中删除尚无成绩的选课元组.DELETE FROM SCWHERE GRADE IS NULL(4)把WANG同学的学习选课和成绩全部删去.DELETE FROM SCWHERE S# IN(SELECT S#FROM SWHERE SNAME='WANG')(5)把选修MATHS课不及格的成绩全改为空值.UPDATE SCSET GRADE=NULLWHERE GRADE<60 AND C# IN(SELECT C#FROM CWHERE CNAME='MATHS')6)把低于总平均成绩的女同学成绩提高5%.UPDATE SCSET GRADE=GRADE*1.05WHERE GRADE<(SELECT AVG(GRADE) FROM SC) AND S# IN (SELECT S# FROM S WHERE SEX='F')(7)在基本表SC中修改C4课程的成绩,若成绩小于等于75分时提高5%, 若成绩大于75分时提高4%(用两个UPDATE语句实现).UPDATE SCSET GRADE=GRADE*1.05WHERE C#='C4' AND GRADE756, 在宿主语言的程序中使用SLQ语句有以下规定:(1)在程序中要区分SQL语句与宿主语言语句(2)允许嵌入的SQL语句引用宿主语言的程序变量(称为共享变量),但有两条规定:1)引用时,这些变量前必须加":"作为前缀标识,以示与数据库中变量有区别.2)这些变量由宿主语言的程序定义,并用SQL的DECLARE语句说明.(3)SQL的集合处理方式与宿主语言单记录处理方式之间要协调. 需要采用游标机制,把集合操作转换成单记录处理方式.7, (1)INSERT,DELETE,UPDATE语句,查询结果肯定是单元组时的SELECT语句, 都可直接嵌入在主程序中使用,不必涉及到游标.(2)当SELECT语句查询结果是多个元组时,此时宿主语言程序无法使用, 一定要用游标机制把多个元组一次一个地传送给宿主语言处理.。
关系数据库标准语言SQL

关系数据库标准语言SQL(总分:120.00,做题时间:90分钟)一、{{B}}选择题{{/B}}(总题数:30,分数:60.00)1.在SELECT-SQL语句中,可以删除表的是 ______ 。
(分数:2.00)A.DELETEB.DROP √C.ALTERD.DISTINCT解析:2.用SQL语句建立表时将属性定义为主关键字,应使用短语 ______。
(分数:2.00)A.FREEB.PRIMARY KEY √C.CHECKD.UNIQUE解析:3.在第27题表中,将“工资”字段定义有效性检查及错误信息的是 ______。
(分数:2.00)A.ALTER TABLE职工ALTER工资; CHECK工资>0 ERROR“工资应为正数”B.ALTER TABLE职工ALTER工资; SET CHECK工资>0 ERROR工资应为正数C.ALTER TABLE职工ALTER工资; SET CHECK工资>0ERROR“工资应为正数”√D.ALTER TABLE职工ALTER工资; CHECK工资>0 ERROR“工资应为正数”解析:4.SQL的SELETE语句中,限定分组条件的短语是 ______。
(分数:2.00)A.ORDER BYB.WHEREC.GROUP BYD.HAVING √解析:5.SQL语句中的SELECT命令建立表之间联系的短语为 ______ 。
(分数:2.00)A.UNIOEB.GROUP BYC.JOIN √D.FROM解析:6.SQL语言是 ______ 的语言,易学习。
(分数:2.00)A.过程化B.非过程化√C.格式化D.导航式解析:7.在SELECT-SQL语句中,测试列值是否为空值的运算符是 ______。
(分数:2.00)A.IS NULL √B.EXISTSC.NOTD.NOT IN解析:8.在SQL的计算查询中,用于统计的函数是 ______ 。
(分数:2.00)A.AVG()B.SUM()C.COUNT() √D.COUNT解析:9.SQL命令中建立表的命令是 ______ 。
第3章关系数据库标准语言SQL(习题集)

第3章关系数据库标准语言SQL(习题集)第三章习题集二、选择题1、SQL语言是(B )的语言,容易学习。
A.过程化B.非过程化C.格式化D.导航式2、在视图上不能完成的操作是(C )。
A.更新视图B.查询C.在视图上定义新的表D.在视图上定义新的视图3、SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能(C )。
A.数据查询B.数据操纵C.数据定义D.数据控制4、SQL语言中,删除一个表的命令是(B)。
A.DELETE B.DROP C.CLEAR D.REMOVE5、SQL语言中的视图VIEW是数据库的(A )A.外模式B.模式C.内模式D.存储模式6、若要在基本表S中增加一列CN(课程名),可用(C )。
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))7、SQL查询语言的一种典型是:select x1,x2,﹒﹒﹒,x nfrom A1,A2,﹒﹒﹒,A mwhere F其中x i (i=1,2,﹒﹒﹒,n)、A j(j=1,2,﹒﹒﹒,m)、F分别是(A )。
A、字段名、目标表名、逻辑表达式B、字段名、目标表名,数值表达式C、目标表名、字段名、逻辑表达式D、目标表名、字段名、数值表达式8、下面列出的关于“视图”的选项中,不正确的是( C )。
A、视图是外模式B、视图是虚表C、使用视图可以加快查询语句的执行速度D、使用视图可以简化查询语句的编写9、SQL是一种结构化查询语言,集( C )功能于一体。
A、数据定义、数据操作、数据安全B、数据完整性、数据安全、数据并发控制C、数据定义、数据操作、数据控制D、数据查询、数据更新、数据输入输出10 在SQL语言中,子查询是( D )。
关系数据库标准语言SQL练习试卷1(题后含答案及解析)

关系数据库标准语言SQL练习试卷1(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(每小题1分,共60分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1.在零件-供应数据库中,有如下3个关系:供应商关系:S(供应商号,供应商名,地址) 零件关系:P(零件号,零件名,颜色,重量) 供应关系:SP(供应商号,零件号,数量) 若要查找“红色零件的供应商名”,将涉及到关系______。
A.P和SPB.S和PC.S和SPD.S、P和SP正确答案:D 涉及知识点:关系数据库标准语言SQL2.实现“收回用户U4对学生表STUD中学号(XH)的修改权”这一功能的正确SQL语句是______。
A.REVOKE UPDAE(XH)ON TABLE FROM U4B.REVOKE UPDAE(XH)ON TABLE STUD FROM PUBLICC.REVOKE UPDAE(XH)ON TABLE STUD FROM U4D.REVOKE ALL PRIVILEGES ON TABLE FROM U4正确答案:C 涉及知识点:关系数据库标准语言SQL3.在嵌入式SQL中,主语言向SQL语句输入数据,主要用主变量来实现。
为了区别字段名,要求主变量名前必须加符号______ 作标志。
A.;(分号)B.、(顿号)C.+(加号)D.:(冒号)正确答案:D 涉及知识点:关系数据库标准语言SQL4.在SQL语言中,删除视图的语句是______。
A.ALTER VIEWB.DROP VIEWC.ZAP VIEWD.DELETE VIEW5.在SQL语言中,CREATE VIEW语句用于建立视图。
如果要求对视图更新时,必须满足子查询中的条件表达式,应当在该语句中使用短语______。
A.WITH UPDATEB.WITH INSERTC.WITH DELETED.WITH CHECK OPTION正确答案:D 涉及知识点:关系数据库标准语言SQL6.为使程序员编程时既可使用数据语言又可使用常规的程序设计语言,数据库系统需要把数据库语言嵌入到______ 中,A.编译程序B.操作系统C.中间语言D.宿主语言正确答案:D 涉及知识点:关系数据库标准语言SQL7.关系数据库的数据语言是______ 的语言,其核心部分为查询,因此又称为查询语言。
第三章 关系数据库标准语言SQL语言

第三章关系数据库标准语言SQL语言一、选择题1. 在SQL语言中授权的操作是通过________________语句实现的。
C A.CREATEB.REVOKEC.GRANTD.INSERT2. 假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。
要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系____。
DA.S B.SC,C C.S,SC D.S,C,SC3. 在 MS SQL Server中建立了表 Student(no,name,sex,birthday),no为表的主码,其他属性的默认值为 null。
表中信息如图所示:能够正确执行的插入操作是________。
A No Name Sex Birthday 101 张丽丽女 1967/05/07 102 李芳女 1970/04/14103 王朋男 1982/10/27 A.INSERT INTO student (no,sex) VALUES(102,′男′) B.INSERT INTO student (name,sex) VALUES(′王中′,′男′)D.INSERT INTO student VALUES(106,′王中′,′男′,′1984/03/08′) C.INSERT INTO stude nt VALUES(102,′男′,′王中′,′1984/03/08′) 4. SQL语言中,删除一个表的命令是________。
B A. DELETE B. DROP C. CLEAR D. REMORE 5. 为数据表创建索引的目的是________ AA.提高查询的检索性能B.创建唯一索引C.创建主键D.归类6. 在SQL语言中,条件“RETWEEN 20 AND 30”表示年龄在20到30之间,且________A. 包括20岁和30岁B. 不包括20岁和30岁C. 包括20岁不包括30岁D. 不包括20岁包括30岁7. 为了使索引键的值在基本表中唯一,在建立索引语句中应使用保留字________ AA. UNIQUEB. COUNTC. DISDINCTD. UNION 8. 下面关于SQL语言的说法中,哪一种说法是错误的? ________ AA. 一个SQL数据库就是一个基本表B. SQL语言支持数据库的三级模式结构C. 一个基本表可以跨多个存储文件存放,一个存储文件可以存放一个或多个基本表D. SQL的一个表可以是一个基本表,也可以是一个视图二、简答题1. 什么是基本表?什么是视图?两者的区别和联系是什么?【解答】基本表是本身独立存在的表,在SQL中一个关系就对应一个表。
关系数据库标准语言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’的成绩改为60D.将学生成绩表中学生号=‘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))。
若用如下语句建立成绩表SC:CREATE TABLE SC(S_ID CHAR(6) NOT NULL, C_ID CHAR(4) NOT NULL,SCORE INTEGER),其中S_ID为主键,C_ID为外键(是C表的主键)。
习题4 关系数据库标准语言SQL

习题4 关系数据库标准语言SQL 一、选择题11. SQL是哪几个英文单词的缩写__________。
16.在V isual FoxPro中,使用SQL命令将学生STUDENT中的学生年龄AGE字段的值增加1,应该使用的命令是__________。
A. REPLACE AGE WITH AGE+1B. UPDA TE STUDENT AGE WITH AGE+1C. UPDA TE SET AGE WITH AGE+1D. UPDA TE STUDENT SET AGE=AGE+117.如果学生表STUDENT是使用下面的SQL语句创建的:CREA TE TABLE STUDENT(SNO C(4)PRIMARY KEY NOTNULL);SN C(8);SEX C(2);AGE N(2) CHECK(AGE>15 AND AGE<30)下面的SQL语句中可以正确执行的是________。
A. INSERT INTO STUDENT(SNO,SEX ,AGE)values("S9","男",17)B. INSERT INTO STUDENT(SNO,SEX, AGE)values("李安琦","男",20)C. INSERT INTO STUDENT(SNO,AGE)values("男",20)D. INSERT INTO STUDENT(SNO,SN)values("S9","安琦",16)18.使用SQL语句从表STUDENT中查询所有姓王的同学的信息,正确的命令是______。
A. SELECT * FROM STUDENT WHERE LEFT(姓名,2)= "王"B. SELECT * FROM STUDENT WHERE RIGHT(姓名,2)= "王"C. SELECT * FROM STUDENT WHERE TRIM(姓名,2)= "王"D. SELECT * FROM STUDENT WHERE STR(姓名,2)= "王"习题4 关系数据库标准语言SQL- 119 -26.下面有关交叉表查询的说法中,正确的是_________。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关系数据库标准语言S Q L练习题内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)第3章关系数据库标准语言SQL一.单项选择题1.SQL语言是▁▁▁▁▁的语言,易学习。
A.过程化 B非过程化 C.格式化 D导航式B2.SQL语言是▁▁▁▁▁语言。
A.层次数据库 B.网络数据库 C.关系数据库 D非数据库3.SQL语言具有▁▁▁▁▁的功能。
A.关系规范化、数据操纵、数据控制B.数据定义、数据操纵、数据控制C.数据定义、关系规范化、数据控制C.数据定义、关系规范化、数据操纵4.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。
其中最重要的,也是使用最频繁的语句是▁▁▁▁▁。
A.SELECT B.INSERT C.UPDATE D.DELETE5.在关系代数运算中,五种基本运算为▁▁▁▁▁。
A.并、差、选择、投影、自然连接 B.并、差、交、选择、投影C.并、差、选择、投影、乘积 D.并、差、交、选择、乘积6 .SQL语言中,实现数据检索的语句是▁▁▁▁▁。
A.SELECT B.INSERT C.UPDATE D.DELETE7.下列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,SEXFROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=“王华”)B.SELECT SN,AGE,SEXFROM S WHERE SN=“王华”C.SELECT SN,AGE,SEXFROM S WHERE AGE>(SELECT AGE WHERE SN=“王华”)D.SELECT SN,AGE,SEXFROM S WHERE AGE>王华.AGE9.检索选修课程“C2”的学生中成绩最高的学生的学号。
正确的SELECT语句是▁▁D▁▁。
A.SELECT S# FORM SCWHERE C#=“C2”AND GRADE>=(SELECT GRADE FORM SC WHERE C#=“C2”) B.SELECT S# FORM SCWHERE C#=“C2”AND GRADE IN(SELECT GRADE FORM SC WHERE C#=“C2”)C.SELECT S# FORM SCWHERE C#=“C2”AND GRADE NOT IN(SELECT GRADE FORM SC WHEREC#=“C2”)D.SELECT S# FORM SCWHERE C#=“C2”AND GRADE>=ALL(SELECT GRADE FORM SC WHEREC#=“C2”)10.检索学生姓名及其所选修课程号和成绩。
正确的SELECT语句是▁▁▁C ▁▁。
SELECT S.SN,SC.C#,SC.GRADEFROM S WHERE S.S#=SC.S#B.SELECT S.SN,SC.C#,SC.GRADEFROM S WHERE S.S#=SC.GRADEC.SELECT S.SN,SC.C#,SC.GRADEFROM S,SC WHERE S.S#=SC.S#D.SELECT S.SN,SC.C#,SC.GRADEFROM S.SC11.检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。
正确的SELECT语句是▁B▁。
A.SELECT S#,SUM(GRADE)FROM SC WHERE GRADE>=60 GROUP BY S# ORDER BY 2 DESCHAVING COUNT(*)>=4SELECT S#,SUM(GRADE)FROM SC WHERE GRADE>=60 GROUP BY S# HAVING COUNT(*)>=4ORDER BY 2 DESCSELECT S#,SUM(GRADE)FROM SC WHERE GRADE>=60 HAVING COUNT(*)>=4 GROUP BY S#ORDER BY 2 DESCSELECT S#,SUM(GRADE)FROM SC WHERE GRADE>=60 ORDER BY 2 DESC GROUP BY S#HAVING COUNT(*)>=412.假定学生关系是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,SC13.如下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL操作▁▁▁▁▁不能执行。
ABCD.将职工号为‘038’部门号改为‘B14.若用如下的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)C.(NULL,‘曾华’,男,23) D.(‘1031,NULL,男,23)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 TSELECT * FROM R WHERE DWH=‘100’SELECT XM,XB FROM RSELECT X,DWH FROM R WHERE XB=“女”SELECT R.BH,R.XM,R.XB,R.DWH,S.DWH,S.DWMFROM R,S WHERE R.DWH=S.DWHSELECT R.XM,R.XB,S.DWMFROM 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=10UPDATE R SET CLASS=“95091” WHERE CLASS=“95101”DELETE FROM R WHERE NO=20DELETE FROM R WHERE NAME LIKE“王%”习题31.叙述SQL语言支持的三级逻辑结构。
答:SQL语言支持的三级逻辑结构如图1所示.在概念层,对应概念模式的概念记录型的基本表。
基本表是这样的一种表,它本身实际存在,在Visual Foxpro中每个表在存储中可用一具存储文件来表示(在ORACLE中,多个表存储在一个文件夹中。
一个基本表就是一个关系,它不是由其人表导出的表。
基本表是使用CDEATE TABLE语句建立的。
在外层,用户所看到的可以是基本表,也可以是视图。
视图是一个虚拟表,它是由一个或几个基本表导出的表,它不直接存在于物理存储器上的表。
视图是使用CDEATE VIEW语句建立的。
在内层,基本表(或库)用一个存储文件来表示,即用一组类型相同的存储记录值来表示。
DBA可以对物理存储文件进行操作。
2.叙述使用SQL语言实现各种关系运算的方法。
答:由Visual Foxpro支持的SQL语言没有提供关系的笛卡尔积、交和差运算。
其全关系运算对应的SQL语句格式是:R∪S:SELECT语句(生成R)UNIONSELECT语句(生成S)选择:SELECT * FROM <表> WHERE <指定选择的条件>投影:SELECT <投影字段列表> FROM<表>选择:SELECT <连接的字段列表> FROM <连接的两个表名> WHERE<连接条件>3.设有如图所示的三个关系,并假定这三个关系框架组成的数据模型就是用户子模式。
其中各个属性的含义如下:A#(商店代号)、ANAME(商店名)、WQTY(店员人数)、CITY(所在城市)、B#(商品号)、BNAME(商品名称)、PRICE(价格)、QTY(商品数量)。
试用SQL语言写出下列查询,并给出执行结果。
A ABB ⑴ 找出店员人数不超过100人或者在长沙市的所有商店的代号和商店名。