数据库题 【含答案和解析】

1. 分数表scores设计如下:courseID(课程编号)studentID(学生编号)score(分数),另有一个学生信息表student,包含studentID,sname(学生姓名),已知并非所有学生都参加了courseID为0001的考试,现在查询所有参加0001号课程考试及格学生的学生姓名,下面正确的是( )

A  select sname from student where studentID in (select studentID from scores where courseID = 0001 and score>=60)

B  select sname from student where studentID = (select studentID from scores where courseID = 0001 and score>=60)

C  select sname from student where studentID not in (select studentID from scores where courseID = 0001 and score<=60)

D  select sname from student where studentID exists (select studentID from scores where courseID = 0001 and score>=60)

2. 下列对于数据库索引的说法一定是错误的( )

A  索引可以提升查询、分组和排序的性能

B  索引不会影响表的更新、插入和删除操作的效率

C  全表扫描不一定比使用索引的执行效率低

D  对于只有很少数据值的列,不应该创建索引

3. 下面哪个不是存储过程的好处( )

A  更加安全

B  SQL优化

C  增加网络流量

D  重复使用

4. 下面哪个SQL命令用来向表中添加列( )

A  MODIFY TABLE TableName ADD COLUMN ColumnName

B  MODIFY TABLE TableName ADD ColumnName

C  ALTER TABLE TableName ADD COLUMN ColumnName

D  ALTER TABLE TableName ADD ColumnName ColumnDataType

5. 下列关于数据库的陈述中,错误的是( )

A  表中任意两行的值不能相同

B  表中任意两列的值不能相同

C  行在表中的顺序无关紧要

D  列在表中的顺序无关紧要

6. 对于满足SQL92标准的SQL语句:select foo,count(foo) from pokes where foo>10 group by foo having count(*)>5 order by foo其执行顺序应该是( )

A  FROM ->WHERE ->GROUP BY ->HAVING ->SELECT ->ORDER BY

B  FROM ->GROUP BY ->WHERE ->HAVING ->SELECT ->ORDER BY

C  FROM ->WHERE ->GROUP BY ->HAVING ->ORDER BY ->SELECT

D  FROM ->WHERE ->ORDER BY ->ORDER BY ->HAVING ->SELECT

7. 已知关系R ( F,G,H,I,J)及其上的函数相关性集合,F={F->G,J->F,HJ->I},该关系的候选关键字是( )

A  FJ

B  HJ

C  HI

D  IJ

8. 用SQL语言描述“在教师表中查找女教师的全部信息”,以下描述正确的是( )

A  SELECT FROM教师表IF(性别=”女”)

B  SELECT性别FROM教师表IF ( 性别=”女”)

C  SELECT * FROM教师表WHERE (性别=”女”)

D  SELECT * FROM性别WHERE (性别=”女”)

9. 关于数据库隔离级别的说法,正确的有( )

A  一般的关系型数据库在默认情况下会有“脏读”的现象

B  Read-Committed(已提交读)能读取其他事务已修改但未提交的记录

C  Repeatable-Read(可重复读)的级别比Read-Committed高

D  设置为Serializables(可串行化)后,数据库通常可获得更好的性能

10. 在MySQL数据库汇总,可通过set @变量名= 语句设置会话级变量,其中会话变量的一个广泛应用是为结果集编号,例如可使用以下语句对表t3的结果集编号:
mysql> set @i:=0;
Query OK,0 rows affected (0.04 sec)
mysql> select @i:=@i+1 No from t3 where @i <3;
+------+------+------+
|No |c1 |c2 |
+------+------+------+
| 1| 1| 1|
| 2| 2| 2|
| 3| 3| 3|
+------+------+------+
3 rows in set (0.00 sec)
其中,结果集中No列就是结果集的编号。假设t3、t4表分别有5行和10行记录,那么,依次执行下述select语句,得到的结果集行数分别是( )
mysql> set @i:=1;
mysql> select @i:=@i+1 from t3 where @i<5;
mysql> select @i:=@i+1 from t4 where @i<10;

A  5,5

B  5,10

C  4,5

D  4,9

获取答案和详细的答案解析:https://ai.52learn.online/11755

上一篇:进制


下一篇:计算机加法原理公式