温馨提示,练前必看
**本人考试学习时整理的,如有错误理解欢迎评论区指错**
**如有侵权可以联系我删除,但是是真题和知识点应该没啥侵权问题吧**
**有引用一些别人的文档做知识点,仅作参考,可以联系我删除**
**参考的文章太多了,我就不在最后一一指出了呜呜呜谢谢大家理解**
这是第六章的题目,暂时没有看到合适的知识点,欢迎补充
答案和解析在最后哦(有自己琢磨的思考和补充的知识点)~
题目
第1题:下列关于sQL Server 2008标量函数的说法,错误的是( )。
A、标量函数的返回值可以是int类型
B、标量函数的返回值可以是char类型
C、标量函数的返回值可以是datetime类型
D、标量函数的返回值可以是timestamp类型
第2题:设在SQL Server 2008中,用户U1在DB1数据库中创建了#Temp表。下列关于#Temp表的说法,正确的是()
A、只有在创建#Temp表的连接中才可以查询#Temp表数据
B、在所有用户U1发起的连接中,都可以查询#Temp表数据
C、在创建#Temp表的连接未断开时,DB1数据库的所有用户都可以查询#Temp表数据
D、在创建#Temp表的连接断开后,DB1数据库的所有用户仍可以查询Temp表数据
第3题:设在SQL Server2008中,用户U1在DB1数据库中创建了#Temp表。下列关于#Temp表的说法中,正确的是()
A、只有在创建#Temp表的连接中才可以查询#Temp表数据
B、在所有用户U1发起的连接中,都可以查询Temp表数据
C、在创建Temp表的连接未断开时,DB1数据库的所有用户都可以查询#Temp表数据
D、在创建#Temp表的连接断开时,DB1数据库的所有用户仍可以查询#Temp表数据
第4题:在SQL Server 2008中,对union操作涉及的两个查询,要求
A、两个查询结果集的列个数相同,对应列的数据类型兼容
B、只需要两个查询结果集的列个数相同,对各对应列的数据类型没有要求
C、第一个查询语句结果集的列个数可以多于第二个查询语句结果集列个数
D、并运算的结果集的列名选用第二个查询语句的结果集列名
第5题:在SQL Server 2008中,对intersect操作涉及的两个查询,要求
A、只需要两个查询结果集的列个数相同,对各对应列的数据类型没有要求
B、两个查询结果集的列个数相同,对应列的数据类型兼容
C、第一个查询结果集的列个数可以多于第二个查询结果集的列个数
D、运算的结果集的列名选用第二个查询的结果集列名
第6题在进行数据库物理设计时,为提高查询效率,需要在基本表的一些列上建立索引。有下列情况:
I.查询语句的WHERE子句中引用率比较高的列
II.经常参与连接操作的列
III.经常在order by子句中出现的列
IV.经常使用LIKE操作符且字符串前后均带有%的列
上述情况中一般情况下适合建立索引的是()
A、仅I、II和III
B、仅I和III
C、仅II、III和IV
D、以上全部
第7题:SQL Server中有五种约束类型,分别是主键约束、_______、唯一性约束、缺省约束和检查约束。
第8题:现有系表(系号,系名,联系电话)和教师表(教师号,教师名,职称,工资,系号)。目前某些系还没有招聘到教授,如果要用一个查询语句列出没有招聘到教授的系的系号和系名,用________连接操作可以实现这个查询。
第9题:设有学生表(学号,姓名,所在系名)和选课表(学号,课程号,成绩)。现要建立统计每个系选课人数的视图。请补全下列语句;
CREATE VIEW V1(系名,人数) AS SELECT 所在系名 , _________
FROM 选课表 JOIN 学生表 ON 选课表.学号 = 学生表.学号_______
第10题:现要查询C01课程考试成绩最高的前3名学生的学号和成绩(包括并列的情况)。请补全下列语句:SELECT______ 3 学号 , 成绩 FROM 选课表
WHERE课程号=C01'
ORDER BY 成绩 DESC
答案及解析
第1题
正确答案:D
标量函数的返回值可以是除了timestamp类型以外的所有数据类型。
第2题
正确答案:A
用户若想在SQL Server中访问数据库的表,必须同该表建立一个连接表示通信渠道,当连接中断时,无法对其进行访问。B中只有用户与#temp建立的连接才可以访问到表。C中不是所有用户都可以访问该表,只有U1用户和由U1授权的用户可以访问。
第3题
正确答案:A
在SQL Server 2008中,只有创建某个临时表的连接中才能查询当前临时表的数据,并当U1创建的该表的连接还未断开时,才能访问这个表的数据。
第4题
正确答案:A
UNION操作符用于合并两个或多个SELECT 语句的结果集,语句必须:
(1)拥有相同数量的列
(2)列必须拥有相似的数据类型
(3)每条SELECT语句中的列的顺序必须相同
(4)并运算的结果集的列名选用第一个查询语句的结果集列名
第5题
正确答案:B
INTERSECT运算符是一个集合运算符,它仅返回两个查询或更多查询的不同行。要将INTERSECT运算符用于两个查询 :
(1)查询的选择列表中的顺序和列数必须相同。
(2)相应列的数据类型必须兼容。
第6题
正确答案:A
对于经常在其上需要执行查询操作并且数据量很大的表,可以考虑建立索引;对于经常出现在where子句、order by子句和group by子句中的属性就可以考虑使用索引;对于前后都是%的列查询不会访问索引,因此不适合建立索引。
第7题
正确答案:外键约束
SQL Servert中有五种约束类型,分别是主键约束、外键约束、唯一约束、缺省约束和检查约束。
第8题
正确答案:外
两个关系R与S在做自然连接时,选择两个关系在公共属性上值相等的元组构成新的关系。关系R中某些元组有可能在S中不存在公共属性上值相等的元组,从而造成R中这些元组在操作时被舍弃,同样,S中某些元组也可能被舍弃。如果把舍弃的元组也保存在结果关系中,而在其它属性上填空值(Nul),那么这种连接就叫外连接。题中两个表做外连接,那些没有对应教师的系也会被留下来,方便查看。
第9题
正确答案:COUNT(DISTINCT选课表.学号)GROUP BY所在系名
由于要统计选课人数所以要用到聚类函数COUNT (DISTINCTIALL<列名>),表示对某列的值的计数,如果指定DISTINCT短语,则表示在计算时要取消指定列中的重复值。如果不指定DISTINCT短语或指定ALL短语,则表示保留重复值。由于是对不同系中的学生的学号统计,所以用GROUP BY子句将查询结果按某一列或多列的值分组,值相等的为一组。通过对组丙不同学号的统计从而统计出各个系的选课人数。
第10题
正确答案: TOP
要求查询成绩最高的前3名学生的学号和成绩,因此需要用TOP关键字。Top3只能查询出前3行的数据,无论这3行数据是否有重复,只能机械的选出前3行记录。(温馨提示:题目中给出来的直接让填写筛选的的是成绩最高的前3名学生的学号和成绩,程序中没有给出WITH TIES,所以不用加上这个语句)