SQLServer数据库基础认证考试模拟题(总)1. ()可以同一个表的不同字段进行联接。
(选一项) * * [单选题] *A、内联接B、自联接(正确答案)C、外联接D、左联接2. 在SQL Server数据库中,UNIQUE约束与PRIMARY KEY约束之间最主要的区别是()(选一项) * * [单选题] *A、UNIQUE约束要求数据库中至少存在一行数据,因此必须在创建数据库表之后才能创建,而PRIMARY KEY约束无此限制B、UNIQUE约束允许有空值,而PRIMARY KEY约束不允许有空值C、创建UNIQUE约束后,该数据行允许被更改,而PRIMARY KEY约束的数据行不允许更改D、UNIQUE约束列不能创建外键,而PRIMARY KEY约束可以创建外键引用(正确答案)3. 查询student表中的所有非空email信息, 以下语句正确的是()(选一项) * * [单选题] *A、Select email from student where email !=nullB、Select email from student where email not is nullC、Select email from student where email <> nullD、Select email from student where email is not null(正确答案)4. SQL语句:select * from students where SNO like '010[^0]%[A,B,C]%',可能会查询出的SNO是( )(选两项) * * *A、01053090A(正确答案)B、01003090A01C、01053090D、0101A01(正确答案)5. 查找 student表中所有电话号码(列名:telephone)的第一位为8或6,第三位为0的电话号码()(‘[86]_0%’等同于'[8,6]_0%')(选一项) * * [单选题] *A、SELECT telephone FROM student WHERE telephone LIKE '[86]%0*'B、SELECT telephone FROM student WHERE telephone LIKE '(8,6)*0%'C、SELECT telephone FROM student WHERE telephone LIKE '[8,6]_0*'D、SELECT telephone FROM student WHERE telephone LIKE '[86]_0%'(正确答案)6. 查找authors表中的所有电话号码的首位为4,第二位为0或1的电话号码()(选一项) * * [单选题] *A、SELECT phone FROM authors WHERE phone LIKE '4[1,0]%'(正确答案)B、SELECT phone FROM authors WHERE phone in '4[^10]%'C、SELECT phone FROM authors WHERE phone LIKE '4_[1,0]%'D、SELECT phone FROM authors WHERE phone between '41%' and '40%'7. 查找 student表中所有电话号码(列名:telephone)的第一位为8或6,第三位为0的电话号码()(选一项) * * [单选题] *A、SELECT telephone FROM student WHERE telephone LIKE '[86]%0*'B、SELECT telephone FROM student WHERE telephone LIKE '(8,6)*0%'C、SELECT telephone FROM student WHERE telephone LIKE '[8,6]_0*'D、SELECT telephone FROM student WHERE telephone LIKE '[86]_0%'(正确答案)8. 成绩表grade中字段score代表分数,以下( )语句返回成绩表中的最低分。
()(选两项) * * *A、select max(score) from gradeB、select top 1 score from grade order by score asc(正确答案)C、Select min(score) from grade(正确答案)D、select top 1 score from grade order by score desc9. 当你执行下面的SQL语句时,会发生()(选一项) * * [单选题] *SELECT au_id, title_id,sum(royaltyper) FROM titleauthor GROUP BY title_id, au_id ORDER BY title_id, au_idA、该语句会失败B、在结果集中,对每一个不同的au_id的值和title_id的值的组合都会有一行(正确答案)C、在结果集中,每一行中au_id的值都不会相同D、在结果集中,每一行中title_id的值都不会相同10. 从货物订单数据表(order)中查询出其中订单金额(order_price)在1000和5000之间的订单的详细信息,并按照订单金额(order_price)升序排列。
正确的语句是()(选一项) * * [单选题] *A、select * from order where order_price between 1000 and 5000 order by order_price ASC(正确答案)B、select * from order where order_price between 1000 and 5000 order by order_price DESCC、select * from order where 1000<order_price<5000 order by order_price ASCD、select * from order where 1000<order_price<5000 order by order_price DESC11. 分析以下SQL语句: [单选题] *SELECT DISTINCT 产品.产品名称,产品.单价 FROM 产品(正确答案)WHERE(((产品.单价)>(SELECT AVG([单价]) FROM 产品)))ORDER BY产品.单价DESC下面说法错误的是( )(选一项) * [单选题] * [单选题] *A、“SELECT AVG([单价])FROM产品”是子查询B、“ORDER BY产品.单价DESC”是指按单价从低到高顺序排列(正确答案)C、查询结果显示的是单价大于平均价格的记录D、此查询显示的字段只有“产品名称”和“单价”12. 关于多表联接查询,以下描述错误的是()(选一项) * * [单选题] *A、外联接查询返回的结果集行数可能大于所有符合联接条件的结果集行数。
B、多表联接查询必须使用到JOIN关键字(正确答案)C、内联接查询返回的结果是:所有符合联接条件的数据。
D、在where子句中指定联接条件可以实现内联接查询。
13. 关于查询中列的别名, 以下()语句是不正确的。
(选一项) * * [单选题] *A、Select name as '姓名' from tableB、Select name as姓名 from table where id =1C、Sleect name = 姓名 from table(正确答案)D、Select names姓名 from table14. 关于分组查询,以下()描述是错误的。
(选两项) * * *A、使用group by 进行分组查询B、对分组后的结果进行条件查询必须使用Having子句C、Having子句不能与where子句同时出现在一个select语句中(正确答案)D、在使用分组查询时,在select列表中只能出现被分组的字段。
(正确答案)15. 关于聚合函数,以下说法错误的是()(选一项) * * [单选题] *A、Sum返回表达式中所有数的总合,因此只能用于数字类型的列。
B、Avg返回表达式中所有数的平均值,可以用于数字型和日期型的列。
C、Max和Min可以用于字符型的列。
(正确答案)D、Count可以用于字符型的列。
16. 设ABC表中有三列A、B、C,并且都是整数类型,则以下( )查询语句能按B列进行分组,并在每一组中取C的平均值。
()(选一项) * * [单选题] *A、SELECT AVG(C) FROM ABCB、SELECT AVG(C) FROM ABC ORDER BY BC、SELECT AVG(C) FROM ABC GROUP BY B(正确答案)D、SELECT AVG(C) FROM ABC GROUP BY C,B17. 假设表orderitem有列orderid(int类型)和列thenumber(int类型),则下列语句可以正确执行的是( )(选一项) * * [单选题] *A、Select * from orderitem where orderid<=2 order by orderidCompute sum(thenumber) by orderid(正确答案)B、Select * from orderitem where orderid<=2Compute sum(thenumber) by orderidC、Select * from orderitem where orderid<=2 order by thenumber Computesum(thenumber) by orderidD、Select * from orderitem where orderid<=2 order by orderidCompute sum(orderid) by thenumber18. 使用SQL创建多表查询要求查询中所涉及的表必须有()(选一项) * * [单选题] *A、主键B、公共字段(正确答案)C、组合键D、以上都是19. 下列的查询语句哪一项是错误的()(选一项) * * [单选题] *A、Select * from stumarks where score>=60B、Select * from (select * from stumarks where score>=60)(正确答案)C、Select * from (select * from stumarks where score>=60) as tempD、Select * from (select * from stumarks ) as temp where score>=6020. 现有订单表orders,包含用户信息userid, 产品信息 productid, 以下( )语句能够返回至少被订购过两回的productid()(选一项) * * [单选题] *A、select productid from orders where count(productid)>1B、select productid from orders where max(productid)>1C、select productid from orders where having count(productid)>1 group by productidD、select productid from orders group by productid having count(productid)>1(正确答案)21. 下列能用于日期/时间类型的聚合函数是()(选一项) * * [单选题] *A、MAX(正确答案)B、SUMC、MONTHD、AVG22. 现有客户表customers(主键:客户编号cid),包含10行数据,订单表orders(外键:客户编号cid ),包含6条数据。