SQL语句小测验

一. 选择题

1.当关系R和S进行连接操作时,如果R中的元组不满足连接条件,在连接结果中也会将这些记录保留下来的操作是(A)
A.左外连接  B.右外连接  C.内连接  D.自连接

2.设在某SELECT语句的WHERE子句中,需要对Grade列的空值进行处理。下列关于空值的操作,错误的是(C)
A.Grade IS NOT NULL  B.Grade IS NULL   C.Grade = NULL   D.NOT (Grade IS NULL)

3.下列聚合函数中,不忽略空值的是(D)
A.SUM(列名)  B.MAX(列名)  C.AVG(列名)  D.COUNT(*)

4.SELECT … INTO …FROM语句的功能是(A)
A. 将查询结果插入到一个新表中
B. 将查询结果插入到一个已建好的表中
C. 合并查询的结果
D. 向已存在的表中添加数据

5.下列实现在Student表查询年龄最小的学生姓名和年龄,正确的是(D)
A. SELECT Sname, MIN(Sage) FROM Student
B. SELECT Sname, Sage FROM Student WHERE Sage = MIN(Sage)
C. SELECT TOP 1 Sname, Sage FROM Student
D. SELECT TOP 1 Sname, Sage FROM Student ORDER BY Sage

6.删除计算机系学生(在student表中)的修课记录(在SC表中)的正确的语句是表是(B)
A.DELETE FROM SC JOIN Student b ON S.Sno = b.Sno WHERE Sdept = ‘计算机系’
B.DELETE FROM SC FROM SC JOIN Student b ON SC.Sno = b.Sno WHERE Sdept = ‘计算机系’
C.DELETE FROM Student WHERE Sdept = ‘计算机系’
D.DELETE FROM SC WHERE Sdept = ‘计算机系’

7.下列SQL语句中,用于修改表数据的语句是(C)
A.ALTER  B.SELECT  C.UPDATE  D.INSERT

8.设数据库中已有Student、Course和SC表。现要查询学生选的第2学期开设课程的情况,只需列出学号、姓名、所在系和所选的课程号。该查询涉及到的表是(D)
A.仅Student表       B.仅Student和SC表
C.仅Student和Course表  D.Student、SC和Course表

9.设有学生表(学号,姓名,所在系)。下列建立统计每个系的学生人数的语句中,正确的是(A)
A. SELECT 所在系, COUNT(*) as 学生人数 FROM 学生表 GROUP BY 所在系
B. SELECT 所在系, SUM(*) as 学生人数 FROM 学生表 GROUP BY 所在系
C. SELECT 所在系, SUM(*) FROM 学生表 GROUP BY 所在系
D. SELECT 所在系, COUNT(*) FROM 学生表 ORDER BY 所在系

二、填空题

1. 在相关子查询中,子查询的执行次数是由 (外层表的行数) 决定的。
2. 对包含基于集合测试子查询的查询语句,是先执行( ) 层查询,在执行 ( )层查询。
3. 对包含相关子查询的查询语句,是先执行 ( )层查询,在执行( )层查询。
4. 聚合函数COUNT(*)是按 ( )统计数据个数。
5. 设Grade列目前有三个值:90、80和NULL,则AVG(Grade)的值是( 85 ),MIN(Grade)的值是( 80 )。

6. 设有学生表(学号,姓名,所在系)和选课表(学号,课程号,成绩),现要建立统计每个系的选课人数。请补全下列语句:
SELECT 所在系, COUNT(DISTINCT 选课表.学号) FROM 选课表
JOIN 学生表 ON 选课表.学号 = 学生表.学号
GROUP BY 所在系

7. 进行自连接操作的两个表在物理上为一张表。通过( 起别名 )方法可将物理上的一张表在逻辑上成为两张表。
8. FROM A LEFT JOIN B ON …语句表示在连接结果中不限制( A )表数据必须满足连接条件。
9. 对分组后的统计结果再进行筛选使用的子句是( group by having )。
10. 若SELECT语句中同时包含WHERE子句和GROUP子句,则先执行的是( WHERE )子句。

猜你喜欢

转载自blog.csdn.net/iTaylorfan/article/details/106099197