SQL语言面试题

2023-07-06   


一、选择题
     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. 什么是基本表?什么是视图?两者的区别和联系是什么?
   2. 所有的视图是否都可以更新?为什么?
   3. 哪类视图是可以更新的,哪类视图是不可更新的? 各举一例说明。
   4. 试述某个你熟悉的实际系统中对视图更新的规定。


相关内容:

  1. SQL Server面试题
  2. C#和SQL Server的面试题
  3. 一道SQL存储过程面试题
  4. 一些高难度的SQL面试题
  5. Oracle及SQL相关面试题
  6. SQL面试题