SQL 练习题:多表子查询、聚合函数、HAVING 和 WHERE、子查询、数据分页、笛卡尔积、约束、外键、一对一关系

题目1(多选): 关于多表的子查询,下列描述正确的是( )

选项 : A. 子查询的结果是单行单列时,通常作为父查询的条件 B. 子查询的结果是多行单列时,放在父查询的条件位置,使用 'in' C. 子查询的结果是多行多列,作为父查询的一张表(虚拟表),起别名 D. 如果我们想使用聚合函数作为查找的结果,并且聚合函数存在子查询语句中,那么我们可以直接将聚合函数写在 'select' 后面

题目2(单选): 下列聚合函数的定义正确的是( ) A. 聚合函数是对多列值进行运算,并返回单个值 B. 聚合函数是对一组值进行运算,并返回单个值 C. 聚合函数是对多列值进行运算,并返回多个值 D. 聚合函数是对一组值进行运算,并返回多个值

题目3(单选): 关于 'having' 和 'where' 的用法,下列使用错误的是( ) A. 'WHERE' 和 'HAVING' 写在 'GROUP BY' 的前面 B. 'WHERE' 不能写在 'HAVING' 的后面 C. 'WHERE' 后面不能跟聚合函数 D. 'HAVING' 是分组之后再进行筛选

题目4(单选): 下列语句中哪个是子查询( ) A. 'SELECT * FROM USERS WHERE ID IN (3,6,9)' B. 'SELECT AVG(AGE) FROM USERS' C. 'SELECT * FROM USERS WHERE AGE > (SELECT AVG(AGE) FROM USERS)' D. 'SELECT AVG(AGE),COUNT(ID) FROM USERS'

题目5(单选): 查询数据库中的第3条到第6条数据,下列选项中正确的是( ) A. 'SELECT * FROM USERS LIMIT 2,5' B. 'SELECT * FROM USERS LIMIT 3,6' C. 'SELECT * FROM USERS LIMIT 2,3' D. 'SELECT * FROM USERS LIMIT 3,3'

题目6(单选): 查询结果是一个笛卡尔积的是( ) A. 'SELECT * FROM EMP,DEPT' B. 'SELECT * FROM EMP INNER JOIN DEPT WHERE EMP.DID=DEPT.ID' C. 'SELECT * FROM EMP DEPT WHERE EMP.DID=DEPT.ID' D. 'SELECT * FROM EMP,DEPT WHERE EMP.DID=DEPT.ID'

题目7(单选): 关于约束效果说法不正确的是( ) A. 主键约束能保证数据的唯一和非空 B. 非空约束能保证数据值不能为 'null',但是可以重复 C. 唯一约束能保证数据不能重复,可以为 'null',但不能有多个 'null' D. 当没有插入字段值时,默认值约束可以自动填充默认值

题目8(单选): 非空约束的关键字是( ) A. 'not null' B. 'is not null' C. 'not is null' D. 'unique'

题目9(单选): 外键约束说法不正确的是( ) A. 设置外键列的值时,必须保证该值在主表中存在 B. 通过 'foreign key references' 可以设置外键关联约束 C. 当主表数据删除时,子表的相关行必然会被删除 D. 外键关联可以设置一列或多列

题目10(单选): 下列是一对一关系的是( ) A. 老师与学生 B. 学生与图书 C. 学生与学校 D. 学生与身份证

答案:

  1. BCD
  2. B
  3. C
  4. C
  5. B
  6. A
  7. B
  8. A
  9. C
  10. D
SQL 多表子查询、聚合函数、HAVING 和 WHERE、子查询、数据分页、笛卡尔积、约束、外键、一对一关系练习题

原文地址: https://www.cveoy.top/t/topic/otWq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录