Sql测试题

提问表question

id

主键

 

name

用户

varchar

content

内容

varchar

client_type

客户端类型(1PC,2APP)

int

product_id

商品编号

int

status

状态(0待审,1通过、-1删除)

int

created

创建时间

datetime

modified

修改时间

datetime

回答表answer

id

主键

 

name

用户

varchar

content

内容

varchar

client_type

客户端类型(1PC,2APP)

int

question_id

问题ID

int

isBest

是否最佳答案(Y,N)

varchar

status

状态(0待审,1通过、-1删除)

int

created

创建时间

datetime

modified

修改时间

datetime

注:一个问题可以被多个用户回答,一个用户对于同一个问题只能回答一次

1、 查询“张三”提问的总数量;

2、 查询“张三”回答的问题和回答内容;

3、 查询最近7天的每个商品对应客户端的提问数,按照降序排列;

4、 查询历史提问最多的用户及提问数量;

5、 查询(提问总数+回答总数)最多的用户;

6、 查询每个商品下已通过问题的回答率,按照回答率降序排列;

7、 查询回答率最高的商品编号;

8、 查询商品下的在24小时内有回答的问题商品,按照被回答问题的个数降序排列;

9、 查询每个用户的提问总数和回答总数;

10、         查询每个用户每天对应的提问数和回答数;

11、         查询回答总数大于50且回答的商品个数大于10的用户,按照回答总数降序排列;

12、         查询每个商品最佳答案个数;

 

考察点:

Where:根据指定条件查询某张表

Group by:分组查询,出现分别、每个、每种等类似字眼的时候

Having:只能跟在group by 后面使用,是对每组数据进行的条件筛选

Max:获取查询表中某一列的最大值,如果分组的话可以分别取出每组里面的最大值

Sum:获取某一列的总和,如果分组的话可以分别获取每组的某一列总和

Count:获取查询结果的记录条数,了解count(1),connt(*),count(列名)的区别

Distinct:去重

Limit、Top:获取查询结果的前多少条记录

Union、Union all:合并查询结果,union去重,union all不去重

Join、笛卡尔积:左右内外联接,尽量避免笛卡尔积

Like:匹配相似数据

各类函数:日期处理函数、判空函数、case when

 

一、选择题:(20分) 1、根据关系数据基于的数据模型——关系模型的特征判定下列正确的一项:(___) A、只存在一对多的实体关系,以图形方式来表示。 B、以二维表格结构来保存数据,在关系表中不答应有重复行存在。 C、能体现一对多、多对多的关系,但不能体现一对一的关系。 D、关系模型数据库是数据库发展的最初阶段。 2、在“连接”组中有两种连接认证方式,其中在(___)方式下,需要客户端应用程序连接时提供登录时需要的用户标识和密码。 A、Windows身份验证 B、SQL Server 身份验证 C、以超级用户身份登录时 D、其他方式登录时 3、SQL Server 2000 在安装之前,应留意的事项:(___) A、SQL Server 2000的任何版本在安装时都不用考虑操作系统的制约。 B、SQL Server 2000的安装对硬件的要求不作任何限制。 C、SQL Server 2000 在安装之前,必须在操作系统级启用TCP/IP。 D、在Windows NT Server 4.0上安装SQL Server 2000时,最低的要求是必须安装Service Pack 4(SP4)以上。 4、关系数据库中,主键是(1___),主键的建立有(2___)种方法,当运用Transact-SQL语句创建主键时,可以是(3___)。 ⑴ A、为标识表中唯一的实体 B、创建唯一的索引,答应空值 C、只答应以表中第一字段建立 D、答应有多个主键的 ⑵ A、一 B、二 C、三 D、四 ⑶ A、create table table1 (column1 char(13) not null primary, column2 int not) on primary; B、alter table table1 with notcheck add constraint [PK_table1] primary key nonclustered ( column1) on primary; C、alter table table1 column1 primary key ; 5、表在数据库中是一个非常重要的数据对象,它是用来(1___)各种数据内容的,数据库创建后就可以创建表了,创建表可以用(2___)等方法来创建。 ⑴ A、显示 B、查询 C、存放 D、检索 ⑵ A、企业治理器 B、查询分析器 C、OSQL D、企业治理器和CREATE TABLE语句 6、为数据表创建索引的目的是(1___),可以在创建表时用(2___)来创建唯一索引,也可以用(2___)来创建唯一索引。 ⑴ A、提高查询的检索性能 B、创建唯一索引 C、创建主键 D、归类 ⑵ A、设置主键约束,设置唯一约束 B、Create table,Create index C、设置主键约束,Create index D、以上都可以 7、 在Transact-SQL语法中,用来插入数据的命令是(___),用于更新的命令是(___)。 A、INSERT,UPDATE B、UPDATE,INSERT C、DELETE,UPDATE D、CREATE,INSERT INTO 8、在Transact-SQL语法中,SELECT语句的完整语法较复杂,但至少包括的部分(1___),使用要害字(2___)可以把重复行屏蔽,将多个查询结果返回一个结果集合的运算符是(3___),假如在SELECT语句中使用集合函数时,一定在后面使用(4___)。 ⑴ A、SELECT,INTO B、SELECT,FROM C、SELECT,GROUP D、仅SELECT ⑵ A、DISTINCT B、UNION C、ALL C、TOP ⑶ A、JOIN B、UNION C、INTO C、LIKE ⑷ A、GROUP BY B、COMPUTE BY C、HAVING D、COMPUTE 9、视图是一种常用的数据对象,它是提供(1___)和(1___)数据的另一种途径,可以简化数据库操作,当使用多个数据表来建立视图时,表的连接不能使
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值