第五章  SQL语言
一、单项选择题
()同步练习
(二)试题
09011.以下叙述中正确的是(     
A.为了实现连接运算,SELECT命令中必须指出属性的来源
B.如果缺省WHERE子句,则会产生错误信息
C.在SQL语言中绝大多数连接操作都是自然连接
D.连接操作中不可以用别名指定数据的来源
09012SQL语言中建立惟一性索引的命令是(     
ACREATE INDEX 索引名 ON 基本表名(属性名)
BCREATE INDEX UNIQUE索引名 ON 基本表名(属性名)
CCREATE UNIQUE INDEX索引名 ON 基本表名(属性名)
DCREATE DISTINCT INDEX索引名 ON 基本表名(属性名)
08101.下列叙述正确的是(     
A.ORDER BY子句后只能有一个属性
B.ORDER BY子句所产生的输出只是逻辑排序效果,并没有影响表的实际内容
C.进行有序输出时,如果列中有空值则在升序输出时首先列出空值项,而在降序时最后
列出空值项
D.ORDER BY子句中必须指明是升序或降序,不能缺省
08102.现要查缺少成绩(G)的学生学号(S#)和课程号(C#),下面SQL语句中WHERE子句的
条件表达式应是:
SELECT    S#C#
FROM  SC
WHERE     
A.G=0    B.G<=0
C.G=NULL    D.G  IS  NULL
08011.已知SN是一个字符型字段,下列SQL查询语句(      )
SELECT SN FROM S
WHERE SN LIKEAB%′;的执行结果为
A.出含有3个字符′AB%′的所有SN字段
B.出仅含3个字符且前两个字符为′AB′的SN字段
C.出以字符′AB′开头的所有SN字段
D.出含有字符′AB′的所有SN字段
08012.现要查缺少成绩(Grade)的学生学号(Snum),相应的SQL语句是(      )
ASELECT Snum    BSELECT Snum
FROM SC                FROM SC
WHERE Grade=0        WHERE Grade<=0
CSELECT Snum      DSELECT Snum
FROM SC          FROM SC
WHERE Grade=NULL    WHERE Grade IS NULL
07011.下列不属于存储过程优点的是(     
A.增加了程序编写工作量    B.提高运行速度
C.降低网络通信量    D.间接实现安全控制
07012SQL语言的标准库函数COUNTSUMAVGMAXMIN等,不允许出现在下列哪个子句中(     
A.SELECT    B.HAVING
C.GROUPHAVING    D.WHERE
07013SQL语言是关系型数据库系统典型的数据库语言,它是(     
A.过程化语言    B.结构化查询语言
C.格式化语言    D.导航式语言
07014.将查询关系S的权限授予用户WANG,并允许该用户将此权限授予其他用户。实现此功能的SQL语句是(     
A.GRANT  SELECT  TO  S  ON  WANG  WITH  PUBLIC
B.GRANT  SELECT  ON  S  TO  WANG  WITH  PUBLIC
C.GRANT  SELECT  TO  S  ON  WANG  WITH  GRANT  OPTION
D.GRANT  SELECT  ON  S  TO  WANG  WITH  GRANT  OPTION
二、填空题
()同步练习
(二)试题
09011SQL语言中,撤消基本表的语句是___________
08101SQL语言的条件表达式中字符串匹配操作符是________
07101SQL语言中,向数据库表中插入数据的命令是________
三、简答题
()同步练习
(二)试题
09011.简述视图的特点。
08011.简述SQL数据库表的三种类型及它们的区别。
  基本表,试图,导出表。基本表是实际存储在数据库中的表,试图是由若干基本表或其它试图构成的表的定义,而导出表是执行了查询时产生的表。
08012.简述数据库的完整性含义以及DBMS的完整性子系统的功能。
08013SQL的视图机制有哪些优点?
07101.简述基本表和视图和区别。
四、设计题
(一)同步练习
(二)试题
09011.设有关系SS#NAMEAGESEX),其属性分别表示:学号,姓名,年龄和性别;关系SCS#C#GRADE),其属性分别表示:学号,课号和成绩。
09011.试用SQL语句完成统计每一年龄选修课程的学生人数。
09012.设有学生表SS#NAMEAGESEX),其属性分别表示:学号,姓名,年龄和性别;选课表SCS#C#GRADE),其属性分别表示:学号,课号和成绩。试用关系代数表达式表达下面查询:检索学习课号为C2课程的学号和姓名。
09013.设有职工基本表EMPENOENAMEAGESEXSALARY),其属性分别表示:职工号,姓名,年龄,性别,工资。试用SQL语句写出为每个工资低于1000元的女职工加薪200元。
09014.设有科研项目表PROJ(项目编号,项目名称,金额,教师编号)。试用SQL语句写出下面查询:列出金额最高的项目编号和项目名称。
09015.设有学生关系STUSNOSNAMEAGESEX),其属性分别表示:学号,姓名,年龄和性别。试用SQL语句检索年龄为空值的学生姓名。
08101.设有三个关系AAnumAname, city),它们的属性分别是:商场号,商场名称,商场所在城市;BBnum, Bname, price),它们的属性分别是:商品号,商品名称,价格;ABAnum, Bnum, qty),它们的属性分别是商场号,商品号,商品销售数量。
SQL语句创建一个基于ABAB三个表的视图(上海商场),其中包括城市为上海的商场名称及其销售的商品名称。
08102.对上题中的三个基本表,用SQL语句查询所有商品的名称及其销售总额。
08103.对上题中的三个基本表,用SQL语句查询共有多少家商场销售“长虹彩电”。
08104.设有选课表SCS#C#GRADE),它们的属性分别是:学号,课号,成绩。试用关系代数表达式检索学习课号为C2课程的学生学号和成绩。
08105.设有学生关系SSno, Sname, Sage, Sex),它们的属性分别是:学号,姓名,年龄,性别。试用SQL语句检索出年龄大于等于18小于等于20的学生姓名和性别。
已知有如下三个关系:学生(学号,姓名,系别号),项目(项目号,项目名称,报酬)
参加(学号,项目号,工时),其中,报酬是指参加该项目每个工时所得报酬。
依据此关系回答下面15题。
08011.试用关系代数表达式写出下列查询:列出王明同学所参加项目的名称。
08012.试用SQL语句写出下列查询:列出报酬最高的项目编号。
08013.试用SQL语句写出下列查询:列出每个系所有学生参加项目所获得的总报酬。
08014.试用SQL语句查询报酬大于800元(包括800元)的项目名称。
08015.试用SQL命令创建一个学生_项目视图,该视图包含的属性名称为:学号,姓名和项目名称。
07101.设教学数据库中有三个关系:
基本的sql语句有哪些
学生关系S(S#SNAMEAGESEXDEPT),其属性分别表示学号、姓名、年龄、性别、所在系。
课程关系C(C#CNAMETEACHER),其属性分别表示课程号、课程名、任课教师名。
选课关系SC(S#C#GRADE},其中GRADE表示成绩。
请用关系代数表达式表达下面的查询。
检索选修课程号为“C2”的学生的学号和姓名。
07102.在07101题的基本表中,试用SQL语句完成下面操作:
查询与张明同一个系的学生信息。
07103.在07101题的基本表中,试用SQL语句完成下面操作:
删除学号为“95002”的学生选修的课程号为“C2”的记录。
07104.在07101题的基本表中,试用SQL语句完成下面的操作:
建立数学系学生的视图C_STUDENT,并要求进行修改和插入数据时,仍需保证该视图只有数学系的学生。视图的属性名为:S#SNAMEAGEDEPT
07105.在07101题的基本表中,试用SQL语句查询每个学生已选修课程的门数及平均成绩。