⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 第三章 sql语言.txt

📁 主要介绍了数据库技术的发展历程
💻 TXT
📖 第 1 页 / 共 2 页
字号:
第三章 SQL语言  

  一、选择题
  1. SQL语言是( )的语言,容易学习 。
  A.过程化 B. 非过程化
  C.格式化 D. 导航式
  2. SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE、DELETE等。其中最重要的,也是使用最频繁的语句是( ) 。
  A. SELECT B. INSERT
  C. UPDATE D. DELETE
  3. 在视图上不能完成的操作是( ) 。
  A. 更新视图 B. 查询
  C. 在视图上定义新的表 D. 在视图上定义新的视图
  4. SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能( )。
  A. 数据查询 B. 数据操纵
  C. 数据定义 D. 数据控制
  5. SQL语言中,删除一个视图的命令是( )。
  A.DELETE 
  B.DROP
  C.CLEAR
  D.REMOVE
  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(课程名),可用( )。
  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))
  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. S.S# = SC.S# and C.C# = SC.C# and SAGE>=20 and CNAME=‘ACCESS’
  B. S.S# = SC.S# and C.C# = SC.C# 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子句的内容是( )。
  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=’ 数据库’
  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) B (2) A (3) C (4) C (5) B
   (6) A (7) D (8) C (9) C (10) B
  (11) A (12) D (13) A (14) D (15) C
  (16) A (17) B (18) D 
  
  二、简答题
  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 
   WHERE COLOR=‘红’);
   或
   SELECT SNO
   FROM SPJ,P 
   WHERE JNO=‘J1’ 
   AND SPJ.PNO=P.PNO
   AND COLOR=‘红’;
  (4) 求没有使用天津供应商生产的红色零件的工程号JNO;
  解析:
   用SQL语言表示如下:
   SELECT JNO
   FROM J
   WHERE NOT EXISTS
   (SELECT *
   FROM SPJ
   WHERE SPJ.JNO=J.JNO
   AND SNO IN

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -