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

一、选择题

1、SQL语言是                    的语言,易学习。

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

2、SQL语言是                 语言。

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

3、SQL语言具有                    的功能。

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

C.数据定义、关系规范化、数据控制    D.数据定义、关系规范化、数据操纵    答案:B

4、SQL语言具有两种使用方式,分别称为交互式SQL和                 。

A.提示式SQL    B.多用户SQL    C.嵌入式SQL    D.解释式SQL    答案:C

5、假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。

要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系          。

A.S      B.SC,C      C.S,SC      D.S,C,SC    答案:D

6、若用如下的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

7、当两个子查询的结果       时,可以执行并,交,差操作.

A.结构完全不一致          B.结构完全一致

C.结构部分一致            D.主键一致     答案:B

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

S(S#,SN,SEX,AGE,DEPT)

C(C#,CN)

SC(S#,C#,GRADE)

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

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

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

答案:A

9、检索选修课程‘C2’的学生中成绩最高的学生的学号。正确的SELECT语句是          。

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’)

答案:D

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

A.SELECT S.SN,SC.C#,SC.GRADE

FROM S

WHERE S.S#=SC.S#

B.SELECT S.SN,SC.C#,SC.GRADE

FROM SC

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

答案:C

11、关系代数中的л运算符对应SELECT语句中的(        )子句.

A.SELECT    B.FROM    C.WHERE   D.GROUP BY     答案:A

12、关系代数中的σ运算符对应SELECT语句中的(        )子句.

A.SELECT    B.FROM    C.WHERE   D.GROUP BY    答案:C

13、WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符是(       ).

A. *        B. %      C. -      D. ?   答案:B

14、WHERE子句的条件表达式中,可以匹配单个字符的通配符是(      ).

A. *        B. %      C. -      D. ?    答案:C

15、SELECT语句中与HAVING子句同时使用的是(      )子句.

A.ORDER BY  B.WHERE   C.GROUP BY D.无需配合  答案:C

16、与WHERE G BETWEEN 60 AND 100语句等价的子句是(       ).  答案:D

  1. WHERE  G>60 AND G<100
  2. WHERE  G>=60 AND G<100
  3. WHERE  G>60 AND G<=100
  4. WHERE  G>=60 AND G<=100

17、SELECT语句执行的结果是(      ). 答案:C

A.数据项    B.元组    C.表      D.视图

18、下列SQL语句中,修改表结构的是____。答案:A

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

二、填空题

1、SQL是  结构化查询语言                 。    答案:结构化查询语言

2、视图是一个虚表,它是从  ①  中导出的表。在数据库中,只存放视图的 ②  ,不存放视图的   ③ 。  答案:①一个或几个基本表   ②定义   ③视图对应的数据

3、设有如下关系表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’王%’

4、SELECT语句中,__WHERE   _____子句用于选择满足给定条件的元组,使用_GROUP BY______子句可按指定列的值分组,同时使用__HAVING_____子句可提取满足条件的组。

5、   在SQL中,如果希望将查询结果排序,应在SELECT语句中使用_ORDER BY__子句,其中_ASC____选项表示升序,_DESC______选项表示将降序。

6、子查询的条件不依赖与父查询,这类查询称之为_不相关子查询_______,否则称之为_相关子查询_______。

7、若一个视图是从单个基本表中导出来的,并且只是去掉了基本表的某些行和某些列,但保留了码,我们称这类视图为__行列子集视图_________。

三、SQL练习

1、设学生课程数据库中有三个关系:

学生关系S(S#,SNAME,AGE,SEX)

学习关系SC(S#,C#,GRADE)

课程关系C(C#,CNAME)

其中S#、C#、SNAME、AGE、SEX、GRADE、CNAME分别表示学号、课程号、姓名、年龄、性别、成绩和课程名。

用SQL语句表达下列操作。

(1)检索选修课程名称为 ’MATHS’ 的学生的学号与姓名。

(2)检索至少学习了课程号为 ’C1’ 和 ’C2’ 的学生的学号。

(3)检索年龄在18到20之间(含18和20)的女生的学号、姓名和年龄。

(4)检索平均成绩超过80分的学生学号和平均成绩。

(5)检索选修了三门课以上的学生的姓名。

答案:(1)SELECT S#,SNAME

FROM S,SC,C

WHERE S.S#=SC.S#

AND C.C#=SC.C#

AND CNAME=’ MATHS’

(2) SELECT S#

FROM SC

WHERE CNO=’C1’ AND S# IN( SELECT S#

FROM SC

WHERE CNO=’C2’)

(3)SELECT S#,SNAME,AGE

FROM S

WHERE SEX=’女’AND AGE BETWEEN 18 AND 20

(4) SELECT S# ,AVG(GRADE)

FROM SC

GROUP BY S#

HAVING AVG(GRADE)>80

(5) SELECT SNAME

FROM S,SC

WHERE S.S#=SC.S#

GROUP BY S#

HAVING COUNT(*)>3

2、设学生-课程数据库中包括三个表:

学生表:Student (Sno,Sname,Sex,Sage,Sdept)

课程表:Course(Cno,Cname,Ccredit)

学生选课表:SC(Sno,Cno,Grade)

其中Sno、Sname、Sex、Sage、Sdept、 Cno、Cname、Ccredit、Grade分别表示学号、姓名、性别、年龄、所在系名、课程号、课程名、学分和成绩。

试用SQL语言完成下列项操作:

(1)创建一个计算机科学系学生信息视图S_CS_VIEW,该视图包含的属性为:Sno、Sname、Sex。

(2)通过上面第2题创建的视图修改数据,把‘王平’的名字改为‘王慧平’。

(3)创建一选修数据库课程信息的视图,视图名称为datascore_view,该视图包含的属性为: SNO、SNAME、GRADE。

答案:

(1)  CREATE VIEW S_CS_VIEW

AS

SELECT SNO, SNAME, SEX

FROM STUDENT

WHERE Sdept=’CS’

(2)UPDATE S_CS_VIEW

SET SNAME=’王慧平’

WHERE SNAME=’王平’

(3) CREATE VIEW datascore_view

AS

SELECT  SNO,SNAME,GRADE

FROM  STUDENT, SC, COURSE

WHERE STUDENT.SNO=SC.SNO

AND COURSE.CNO=SC.CNO

AND CNAME=’数据库’

SQL基础试题的更多相关文章

  1. 数据库基础SQL知识面试题二

    数据库基础SQL知识面试题二 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.选课系统SQL语法练习 course数据库中有以下四张表: •students表(学生表): si ...

  2. 数据库基础SQL知识面试题一

    数据库基础SQL知识面试题一 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 如标题所示,本篇博客主要介绍基础知识的面试题.大家可以用来测试面试者的技术水平,由于个人水平所限,难免 ...

  3. 测试基础面试题 + SQL 面试题(选择题有部分答案,难度:低)

    测试基础面试题 + SQL 面试题(选择题有部分答案,难度:低) 答案: .A .C .C .A .A .D

  4. sql面试题一 学生成绩

    sql面试题一 学生成绩   原帖链接:http://topic.csdn.net/u/20081020/15/1ABF54D0-F401-42AB-A75E-DF90027CEBA0.html 表架 ...

  5. SQL面试题1

    SQL面试题 Sql常用语法 下列语句部分是Mssql语句,不可以在access中使用. SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言 ...

  6. SQLServer 常见SQL笔试题之语句操作题详解

    SqlServer 常见SQL笔试题之语句操作题详解 by:授客 QQ:1033553122 测试数据库 CREATE DATABASE handWriting ON PRIMARY ( name = ...

  7. SQL面试题(网络收集)

    1. 用一条SQL 语句 查询出每门课都大于80 分的学生姓名 name   kecheng   fenshu 张三     语文       81 张三     数学       75 李四     ...

  8. 【转载】SQL面试题

    [本文转自]http://blog.csdn.net/u012467492/article/details/46790205 1.用一条SQL 语句 查询出每门课都大于80 分的学生姓名 name   ...

  9. 信安周报-第02周:SQL基础

    信安之路 第02周 Code:https://github.com/lotapp/BaseCode/tree/master/safe 前言 本周需要自行研究学习的任务贴一下: 1.概念(推荐) 数据库 ...

随机推荐

  1. Unity Shader-渲染队列,ZTest,ZWrite,Early-Z

    在渲染阶段,引擎所做的工作是把所有场景中的对象按照一定的策略(顺序)进行渲染.最早的是画家算法,顾名思义,就是像画家画画一样,先画后面的物体,如果前面还有物体,那么就用前面的物体把物体覆盖掉,不过这种 ...

  2. fastjson 过滤不需要的字段或者只要某些字段

    /* * 第一种:在对象响应字段前加注解,这样生成的json也不包含该字段. * @JSONField(serialize=false)   * private String name;   */ / ...

  3. 我的Java学习推荐书目

    一直有这么个想法,列一下我个人认为在学习和使用Java过程中可以推荐一读的书籍,给初学者或者想深入的朋友一些建议,帮助成长.推荐的的都是我自己读过,也会推荐一些朋友读过并且口碑不错的书籍. 一.基础类 ...

  4. UML类图和时序图

    这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系: 能看懂类图中各个类之间的线条.箭头代表什么意思后,也就足够应对 日常的工作和交流: 同时,我们应该能将类图所表达的含义和最终的代码 ...

  5. django错误:Connection reset by peer

    django使用自身的web服务器时,处理并发的能力很弱,如果客户端并发连接数超过了其承载量,服务器会将其中一些连接关闭,从而导致这个问题 https://blog.csdn.net/xc_zhou/ ...

  6. Go语言之进阶篇爬百度贴吧并发版

    1.爬百度贴吧并发版 示例: package main import ( "fmt" "net/http" "os" "strco ...

  7. 【BLE】CC2541之发现服务与特征值

    一.简介 本文以SimpleBLECentral工程为例,解析CC2541作为主机时是如何发现从机的服务和特征值的. 二.实验平台 协议栈版本:BLE-CC254x-1.4.0 编译软件:IAR 8. ...

  8. Linear Regression总结

    转自:http://blog.csdn.net/dongtingzhizi/article/details/16884215 Linear Regression总结 作者:洞庭之子 微博:洞庭之子-B ...

  9. [PowerShell Utils] Automatically Change DNS and then Join Domain

    I would like to start a series of blog posts sharing PowerShell scripts to speed up our solution ope ...

  10. iOS开发-Instruments性能调优

    性能是苹果审核的一个很重要的部分,CPU,内存,图形绘制,存储空间和网络性能都是应用的重要的评估和组成部分.不管是作为个人应用开发者还是企业的开发人员,都需要遵循的一个原则是站在用户的角度去思考问题, ...