SQLSERVER基础选择题

5 篇文章 0 订阅
4 篇文章 0 订阅

SQLSERVER基础选择题

01-数据库基础

1-SQL Server 数据库中,进行查询所使用的语言为( )
A SQL B T-SQL C PL/SQL D SQL Cmd
答案:B

2-关系数据库中,( )是保存和管理数据的基本单元
A 记录 B 行 C 表 D 列
答案:D

3-SQL Server 2012 是基于()的数据库
A 关系型 B 文件系统 C 层次型 D 网络型
答案:A

4-Microsoft SQL Server 2012在安装的时候就创建的数据库包括
A Pubs B Master C Northwind D Msdba
答案:B

5-()描述了一个用来存储数据的容器,以及该容器存储和检索数据的过程
A 数据库 B 数据库管理系统 C 数据模型 D 关系型数据库管理系统
答案:C

Server数据库分离和附加的说法,正确的是 6-下列关于SQL
A 分离出来的数据库文件有mdf文件和ldf文件
B 分离出来的数据库文件只有mdf文件
C 分离出来的数据库文件只有ldf文件
D 不能对分离出来的数据库文件进行重命名,否则附加不成功
答案:A

7-主数据库文件的后缀名是
A .ndf B .log  C .mdf
答案:C

8-目前,主流的模型数据库系统是?
A 关系模型数据库系统 B 层次模型数据库系统
答案:A

02-企业管理器

1-手机号码应该采用( )格式的数据类型来存储
A char B int C float D bit
答案:A

2-关于数据完整性,以下说法正确的是
A 引用完整性通过主键和外键之间的引用关系实现
B 引用完整性通过限制数据类型、检查约束等实现
C 数据完整性是通过数据操纵者自身对数据的控制来实现的
D 如果两个表中存储的信息相互关联,那么只要修改了一个表,另外一个表也要做出相应的修改,则称该这两个表中的数据具备引用完整性
答案:D

3-我们通常使用( )输入存储和管理数据
A 数据库管理系统(DBMS)
B 数据库
C 管理信息系统(MS)
D 数据词典
答案:A

4-家庭住址最好采用()数据类型进行存储
A Char/Nchar B text/Ntext C Varchar/Nvarchar D Char2/Nchar2
答案:C

5-Microsoft SQL Server 中,创建一个数据库,不包含以下( )文件
A 主要数据文件 B 次要数据文件 C 日志文件 D 记录集
答案:D

03-查询分析器

1-创建学生信息表时,设定学号要小于1000,应采用( )约束
A 外键约束 B 默认约束 C 主键约束 D 检查约束
答案:D

2-创建数据库时,代表主数据文件初试大小的是
A FILENAME B NAME C SIZE D MAXSIZE
答案:C

3-约束的目的
A 限制表中数据数量
B 确保表中数据的完整性
C 保证数据库大小
D 限制数据输入
答案:B

4-关系型数据库中,要防止小于100的数保存到int类型的UnitsInStock列可以
A 使用主键约束
B 使用缺省约束
C 使用外键约束
D 使用检查约束
答案:D

5-定义列中可以接受的数据值或格式,称为
A 唯一性约束
B 检查约束
C 主键约束
D 默认约束
答案:B

04-SQL SERVER数据管理

1-创建数据库时,不需要指定( )属性
A 数据库的访问权限
B 数据库的存放位置
C 数据库的物理名和逻辑名
D 数据库的初始大小
答案:A

2-哪些语句可以删除数据表中的数据
A UPDATE STUDENT SET SEX = ‘M’ WHERE ID = 2
B INSERT INTO STUDENT (ID,NAME,SEX) VALUES (3,‘张三’,‘W’)
C DELETE FROM STUDENT WHERE ID = 3
D SELECT * FROM STUDENT
答案:C

3-以下哪些是DDL语言
A SELECT B CREATE TABLE C UPDATE D INSERT
答案:B

4-创建一个名为‘Customers’的新表,同时要求新表中包含表‘clients’的所有记录,sql语句是
A Select * into customers from clients
B Select into customers from clients
C Insert into customers select * from clients
D Insert customers select * from clients
答案:A

5-表book中包含三个字段:title(varchar), author(varchar), price(float)。Author的默认值是’UNKNOW’,执行SQL语句:insert book (title,price) values (jsp’, 50)。以下结果正确的是
A 插入失败,SQL语句有错
B 插入成功,author列的数据是UNKNOW
C 插入成功,author列的数据是NULL
D 插入成功,author列的数据是50
答案:B

05-数据基础查询

1-关于查询中列的别名, 以下( )语句是不正确的
A select name as ‘姓名’ from table
B select name as 姓名 from table where id =1
C select name = 姓名 from table
D select name 姓名 from table
答案:C

2-当你执行下面的SQL语句时
SELECT au_id, title_id,sum(royaltyper) FROM titleauthor GROUP BY title_id, au_id ORDER BY title_id, au_id 会发生
A 该语句会失败
B 在结果集中,对每一个不同的au_id的值和title_id的值的组合都会有一行
C 在结果集中,每一行中au_id的值都不会相同
D 在结果集中,每一行中title_id的值都不会相同
答案:B

3-在 SELECT 语句中,( )子句将创建一个新表,并插入源表中的被选记录
A FROM B INTO C WHERE D SELECT
答案:B

4-成绩表grade中字段score代表分数,以下( )语句返回成绩表中的最低分
A select max(score) from grade
B select top 1 score from grade order by score asc
C select avg(score) from grade
D select top 1 score from grade order by score desc
答案:B

5-查找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%’
答案:A

06-数据高级查询

1-以下( )语句从表 TABLE_NAME 中提取前 10 条记录
A SELECT * FROM TABLE_NAME WHERE rowcount=10
B SELECT TOP 10 * FROM TABLE_NAME
C SELECT TOP of 10 * FROM TABLE_NAME
D SELECT * FROM TABLE_NAME WHERE rowcount<=10
答案:B

2-以下( )语句的返回值不是 22
A SELECT abs(-22)
B SELECT abs(22)
C SELECT ceiling(22.1)
D SELECT floor(22.9)
答案:C

3-以下( )不属于聚合函数
A MAX B COUNT C NOT D MIN
答案:C

4-下列能用于日期/时间类型的聚合函数是
A MAX B SUM C MONTH D AVG
答案:A
5-Sql server提供了一些字符串函数,以下说法错误的是
A select right(‘hello’,3) 返回值为:hel
B select ltrim(rtrim(’ hello ')) 返回值为:hello(前后都无空格)
C select replace(‘hello’,‘e’,‘o’) 返回值为:hollo
D select len(‘hello’) 返回值为:5
答案:A

07-联结查询

1-模糊查询(),可以检索出以“Tc”开头的所有字符串
A LIKE ‘Tc_’
B LIKE ‘%Tc_’
C LIKE ‘Tc%’
D LIKE ‘%Tc%’
答案:C

2-关于分组查询,以下( )描述是错误的。(选两项)
A 使用group by 进行分组查询
B 对分组后的结果进行条件查询必须使用Having子句
C Having子句不能与where子句同时出现在一个select语句中
D 在使用分组查询时,在select列表中不能出现被分组的字段。
答案:C

3-使用SQL创建多表查询要求查询中所涉及的表必须有(选一项)
A 主键 B 公共字段 C 组合键 D 以上都是
答案:B

4-关于多表联接查询,以下描述错误的是
A 外联接查询返回的结果集行数可能大于所有符合联接条件的结果集行数
B 多表联接查询必须使用到JOIN关键字
C 内联接查询返回的结果是:所有符合联接条件的数据
D 在where子句中指定联接条件可以实现内联接查询
答案:B

5-在SQL Server 2012中,学生表student中包含字母:学生编号sid(主键),学生姓名sName。成绩表score包含字段:课程编号cid,学生编号sid(外键),学生成绩score;其中学生表包含10行数据,成绩表包含6行记录(且sid列没有重复值),那么执行如下SQL语句,select * from student left outer join score on student.sid=score.sid 将返回()条记录
A 0 B 6 C 10 D 16
答案:C

6-在关系型数据库中,基于公共字段将两个或多个表联系起来称为联接,联接包括以下不同的类型,除了
A 内部联接 B 外键联接 C 外部联接 D 自联接
答案:B

08-查询的实际应用

1-在SQL Server 2005中,假定一个学生选修课管理系统中有两个表,包括:student(学生)表,其结构为:sID (学号),sName (姓名); studentCourse (学生选课)表,其结构为:sID (学号),cID (课程编号),score (成绩 )。那么列出所有已选课学生的学号、姓名、课程编号和成绩的SQL语句是
A SELECT sID,sName,cId,score FROM student,studentCourse
B SELECT,sID,sName,cID,score FROM student INNER JOIN studentCourse ONstudent.sID = studentCourse.sID
C SELECT,sID,sName,cID,score FROM student OUTER JOIN studentCourse ON student.sID = studentCourse.sID
D SELECT,sID,sName,cID,score FROM student, studentCourse WHERE student.sID = studentCourse.cID
答案:B

2-现有书目表book,包含字段:价格price (float),类别type(char); 现在查询各个类别的平均价格、类别名称,以下语句正确的是
A select avg(price),type from book group by type
B select count(price),type from book group by price
C select avg(price),type from book group by price
D select count (price),type from book group by type
答案:A

3-现有订单表orders,包含用户信息userid, 产品信息 productid, 以下( )语句能够返回至少被订购过两回的productid
A select productid from orders where count(productid)>1
B select productid from orders where max(productid)>1
C select productid from orders where having count(productid)>1 group by productid
D select productid from orders group by productid having count(productid)>1
答案:D

4-现有表user,字段:userid,username, salary, deptid,email; 表department,字段:deptid, deptname;下面( )应采用检查约束来实现
A 若department中不存在deptid为2的纪录,则不允许在user表中插入deptid为2的数据行
B 若user表中已经存在userid为10的记录,则不允许在user表中再次插入userid为10的数据行
C User表中的salary(薪水)值必须在1000元以上
D 若User表的email列允许为空,则向user表中插入数据时,可以不输入email值
答案:C

5-现有表book,字段:id (int),title (varchar), price (float); 其中id字段设为自增长的标识, 使用insert语句向book表中插入数据,以下语句错误的是
A insert into book (id,title,price) values(1,‘java’,100)
B insert into book (title,price) values(‘java’,100)
C insert into book values (‘java’,100)
D insert book values(‘java’,100)
答案:A

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
sql语句来练习题。1. 写出创建图书表的SQL语句。 Create table book( Book_id char (10) primary key, (主码primary key) Name varchar(30) not null, (非空not null) Author varchar(20) Publish varchar(30) Price decimal(6,2) (,前表示有几位有效数字 ,后表示小数部分有几位) ) 2. 将编号为“NEU1105101”的图书的定价改为50元。 Update book (修改数据update语句) Set price=50 Where book_id=‘NEU1105101’ 3. 查询所有男性读者的姓名和出生日期。 Select name.birthdate From reader Where sex=‘男’ 4. 查询图书表出现过哪些出版社,每个出版社名称只显示一次,并且按照出版社名称升序排列显示。 Select publish From book Order by publish ASC (按照出版社升序排列显示) 5. 查询借阅过定价介于20元到40元(包括两个边界值)图书的读者的姓名。 Select Name (建立多表连接查询) From borrow join book on borrow.book_id=book.book_id Join reader on borrow.reader_id=reader.readerid Where price >=20 and price <=40 6. 查询每个读者借阅过图书的数量,只显示借阅过图书的读者的读者编号以及借书数量。 Select count(book_id),reader_id (建立多表连接查询) From borrow join book on borrow.book_id=book.book_id Join reader on borrow.reader_id=reader.readerid Group by reder_id 7. 如果有一个名为user001的用户,请写出给他分配对图书表进行数据修改的权限的SQL语句。 Grant update on book to user001 (授权grant语句) 8. 创建一个名为view001的视图,其包含每个出版社的名称、该出版社出版图书的数量、该出版社出版图书的最高定价、以及该出版社出版图书的最低定价。 Create view view001 (创建视图格式,聚集函数) AS Select publish,count(book_id),MAX(price),MIN(price) From student 9. 显示借阅过书名包含“数据库”字样的女性读者的编号和姓名。 Select Name,reader_id (建立多表连接查询) From borrow join book on borrow.book_id=book.book_id Join reader on borrow.reader_id=reader.readerid Where name like ‘%数据库%’ 10. 显示出版图书数量超过100本的出版社的名称及其出版图书的数量。 Select count(book_id),publish (查询图书数量,出版社名称) From book Group by publish (根据出版社的名称来分组) Having count(book_id)>100 (条件约束) 这里用having 不用where 原因是它不能和聚集函数一起使用

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我慢慢地也过来了

谢谢大佬的投喂

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值