SQL练习题

更新时间:2024-03-03 15:53:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1.在SQL Server 2005数据库中,雇员信息表的结果如下所示,则选项中的语句能够正确查询出薪水低于2000远的性别为男性的雇员信息的是(A,D )。(选择二项)

a) SELECT * FROM Employee WHERE (NOT(Salary >= 2000)) AND (Sex=’男’)

b) SELECT * FROM Employee WHERE (NOT(Salary >= 2000)) && (Sex=’男’) c) SELECT * FROM Employee WHERE (NOT(Salary >= 2000) AND (Sex=’男’)) d) SELECT * FROM Employee WHERE (Salary < 2000))&& (Sex=’男’)

2.在SQL Server 2005中,外键用于将一个表中的列与另一表中的列关联起来,为了确保引用的完整性,要求(C )。 (选择一项)

a) 外键列的列值必须已经存在于主键表的对应列的列值中

b) 外键表的数据行行数必须大于主键表的数据行行数 c) 外键列的列值必须与主键表的对应列的列值一一对应 d) 外键列不能有重复的值

3.在SQL SERVER中,需要返回日期格式为“2009-9-9”的日期函数是( C ) (选择一项)

a) Day() b) Year()

c) GetDate() d) Month()

4.在SQL Server2005数据库中,现有stu_info(学生)表,其中包括字段:stu_name(姓名,varchar型),stu_id(学号,int型),stu_score(成绩,int型)。现在需要查询成绩为80的学生姓名,并(选择一项)

a) Select stu_name from stu_info where stu_score=80 order by stu_id

b) Select stu_name from stu_info where stu_score=80 order by stu_id desc c) Select stu_name from stu_info where stu_score like 80 group by stu_id d) Select stu_name from stu_info where stu_score like 80 group by stu_id desc

且结果按照学号的降序排列。下面查询语句正确的是( B )

5.在SQLServer2005数据库中,客户表customers包含字段:客户编号cid和名称cname,订

单表orders包含字段:客户编号cid,如果需要通过查询获得有订单的客户的名称,下面查询语句中( C )可以实现该需求。 (选择一项)

a) SELECT b) SELECT

customers.cname customers.cname

FROM FROM

customers customers

LEFT INNER

JOIN JOIN

orders orders

ON ON

customers.cid=order.cid

customers.cid=order.cid

c) SELECT customers.cname FROM customers RIGHT JOIN orders WHERE

customers.cid=order.cid d) SELECT customers.cname

customers.cid=order.cid

FROM

customers

JOIN

orders

WHERE

6.现有表book,字段:id (int),title (varchar), price (float); 其中id字段设为标识, 使用insert

语句向book表中插入数据,以下语句错误的是( A )。 (选择一项)

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)

7.关于多表联接查询,以下( A )描述是错误的。 (选择一项)

a) 外联接查询返回的结果集行数可能大于所有符合联接条件的结果集行数。

b) 多表联接查询必须使用到JOIN关键字

c) 内联接查询返回的结果是:所有符合联接条件的数据。 d) 在where子句中指定联接条件可以实现内联接查询

8.在SQL Server 2005数据库中,关于标识列,以下说法正确的是( B )。 (选择一项)

a) 使用sql语句插入数据时,可以为标识列指定要插入的值。

b) 设定标识时,必须同时指定标识种子和标识递增量。

c) 若设定标识时,未指定标识递增量,那么使用sql语句插入数据时,可以为标识列指定递增值。

d) 只能把主键设定为标识列。

9.在SQL Server2005数据库中,创建一个名为Customers的新表,但同时要求该表中不包含任何记录,下列查询语句中可以实现的是( B ) A

(选择一项)

a) Select * into customers from clients where 1=2 b) Select * into customers from clients where false

c) Insert into customers select * from clients where 1=2

d) Insert customers select * from clients where false

10.在SQLServer 2005数据库中,有students(学生)表,包含字段:SID(学号)、SName(姓名)、Grade(成绩)。现查找所有学员中成绩最高的前5名学员。下列SQL语句正确的是( D )。 (选择一项)

a) SELECT TOP 5 FROM students ORDER BY Grade DESC

b) SELECT TOP 5 FROM students ORDER BY Grade c) SELECT TOP 5 * FROM students ORDER BY Grade d) SELECT TOP 5 * FROM students ORDER BY Grade DESC

11.在SQL Server 2005数据库中,条件年龄between 15 and 35表示年龄在15至35之间,且( A )。(选择一项)

A. 包括15岁和35岁 B. 不包括15岁和35岁 C. 包括15岁但不包括35岁 D. 包括35岁但不包括15岁

12.在SQLSerever2005数据库中,在表A中有一列为B,执行删除语句:

delete from A where B like ‘[ae]’

下面包含B列的( C )值的数据行可能被删除。(选择一项) A. whyte B. carson C. annet D. hunyer

13.在SQLSerever2005数据库中,以下是选择主键的原则是( B D )(选择两项)

A. 最少性 B. 重复性 C. 隐蔽性 D. 稳定性

14.在使用SQL Server 2005数据库时,有时需要将数据库中的数据转换成其他格式的数据文件,以下文件格式中不能由SQL Server 2005数据库直接转换的文件格式是( A )。(选择一项) A) Access B) Word C) Excel D) txt文件

15.在SQL Server 2005数据库中,设计了如下图所示结构的数据库表Students,其中SCode字段为标识列,并且为主键,则选项中插入数据行的T-SQL语句不正确的是( C )。(选择一项)

A) insert into Students(SName,SAddress,SGrade,SEmail,SSex) values(‘张三’,’广东汕头’,6,’zs@163.com’,0)

B) insert into Students(SName,SAddress,SGrade,SSex) values(‘张三’,’广东汕头’,6,0) C) insert into Students(SName,SAddress,SGrade,SEmail,SSex) select ‘张三’,’广东汕头’,6,’zs@163.com’,0

D) insert into Students values(‘张三’,’广东汕头’,6,0)

16.在SQL Server中创建一个名为Customers的新表,同时要求新表与Clients表的表结构相同,但不要包含Clients的记录,SQL语句是( A )。(选择一项) A) select * into Customers from Clients where 1<>1 B) select * into Customers from Clients where false

C) insert into Customers select * from Clients where 1<>1 D) insert into Customers select * from Clients where false

17.在SQL Server 2005数据库中,查找student表中所有身份证号码CardNo的前三位为110或210的记录,以下语句正确的是(A C )。(选择二项)

A) select * from student where CardNo like ‘110%’ or CardNo like ‘210%’ B) select * from student where CardNo like ‘110%’ or ‘210%’ C) select * from student where CardNo like ‘[1,2]10%’ D) select * from student where CardNo like ‘(1,2)10%’

18.在SQLServer2005数据库中,有学生信息表:Student(stuId,stuName,stu_Address),三个字段分别存储学生的学号、姓名以及家庭住址,如果要在表中找出家庭住址倒数第三个字符为“沙”,并且至少包含4个字符的学生信息,则查询条件子句应写成(C )。

(选择一项)

a) WHERE stu_Address LIKE ‘_ _沙_ %’

b) WHERE stu_Address LIKE ‘% 沙_ _’ c) WHERE stu_Address LIKE ‘_沙_ _’ d) WHERE stu_Address LIKE ‘_ 沙_ %’

19.在SQLServer2005数据库中,有一个course(课程)表,包含字段:cName(课程名称),grade(学分)。要从此表中查询所有学分不在1-4之间的课程名称,以下语句正确的是( B D )。(选择两项)

a) SELECT cName From course WHERE grade IN(1,4)

b) SELECT CName FROM course WHERE grade NOT BETWEEN 1 AND 4 c) SELECT CName FROM course WHERE grade NOT BETWEEN 4 AND 1 d) SELECT CName FROM course WHERE NOT (grade>=1 AND grade<=4)

20.有如下两个关系,其中雇员信息表关系EMP的主键是雇员号,部门信息表关 系DEPT的主键是部门号,雇员信息表的部门号引用部门信息表的部门号。 EMP表:

雇员号 雇员名 部门号 工资 001 张灿 02 2000 010 李金娜 01 1200 056 李东生 02 1000 101 张敏 04 1500 DEPT表:

部门号 部门名 地址 01 业务部 1号楼 02 销售部 2号楼 03 服务部 3号楼

04 业务部 4号楼

若执行下面列出的操作,哪个操作不能成功执行? ( D ) A. 从EMP中删除行('010','李金娜','01',1200) B. 在EMP中插入行('102','张敏','01',1500) C. 将EMP中雇员号='056'的工资改为1600元 D. 将EMP中雇员号='101'的部门号改为'0

本文来源:https://www.bwwdw.com/article/wbva.html

Top