SQL基础知识考核试题_V2.0 下载本文

内容发布更新时间 : 2024/6/9 3:18:34星期一 下面是文章的全部内容请认真阅读。

SQL基础知识考核试题

一、单选题(共8题,每题5分)

考试时间:30分钟 姓名:___________ 成绩:___________

1. 使用SQL命令将教师表teacher中工资salary字段的值增加200,应该使用的命令是(D )。 A) B) C) D) 2. A) B) C) D)

Replace salary with salary+200

Update teacher salary with salary+200 Update set salary with salary+200 Update teacher set salary=salary+200

使用sql语句进行分组检索时,为了去掉不满足条件的分组,应当(B )。 使用WHERE子句

在GROUP BY后面使用HAVING 子句

先使用WHERE子句,再使用HAVING 子句 先使用HAVING 子句,再使用WHERE子句

3. 从货物定单数据表(order)中查询出其中定单金额(order_price)在1000和5000之间的定单

的详细信息,并按照定单金额(order_price)降序排列。正确的语句是(B )。 A) a) Select * from order where [order_price] between 1000 and 5000

order by [order_price] ASC

B) b) Select * from order where [order_price] between 1000 and 5000

order by [order_price] DESC

C) c) Select * from order where 1000<[order_price]<5000 order by [order_price] ASC D) d) Select * from order where 1000<[order_price]<5000 order by [order_price] DESC 4. A) B) C) D)

表的两种相关约束是? ( C) 主键和索引 外键和索引 主键和外键 内键和外键

5. 在oracle中下列哪个表名是不允许的( D)。 A) abc$ B) abc C) abc_ 6. 表A中有以下字段和数据

D) _abc

ColumnA ColumnB ------------------ a a a

请问,执行select count(*) from a where columnB=columnB会得到哪个结果(A )。 A) 0

B) 1

C) 3

D) 4

7. SELECT ename, job, sal FROM emp WHERE job='SALESMAN' OR job='PRESIDENT'

AND sal>1500 OR ename is not null与以下哪个是等价? (C )

A) SELECT ename, job, sal FROM emp WHERE (job='SALESMAN' OR job='PRESIDENT')

AND sal>1500 OR ename is not null

B) SELECT ename, job, sal FROM emp WHERE (job='SALESMAN' OR job='PRESIDENT'

AND sal>1500 )OR ename is not null

C) SELECT ename, job, sal FROM emp WHERE job='SALESMAN' OR (job='PRESIDENT'

AND sal>1500) OR ename is not null

D) SELECT ename, job, sal FROM emp WHERE job='SALESMAN' OR job='PRESIDENT'

AND (sal>1500 OR ename is not null) 8. 列出表结构的命令是( A)。 A) DESCRIBE B) DROP

C) TRUNCATE D) SELECT

二、填空题(共5题,每题6分)

1. SQL语言中,用于排序的是order by子句,用于分组的是group by子句。

2. count是一个非常特殊但又非常有用的函数,它可以计算出满足约束条件的一组条件的

行数。

3. 模糊查询中,*表示_查询出所有列_,%表示表示任意0个或多个字符,[]表示括号内所列字符中的一个(类似与正则表达式)、[^]表示不在括号所列之内的单个字符。

4. 数据模型有三种类型,分别是概念数据模型、逻辑数据模型和物理数据模型。SQL属于

关系型数据库管理系统。

5. SQL中,有一种简便的插入多行数据的方法,这种方法是使用__ select语句_查询出的

结果代替VALUES子句。

三、问答题(共2题,每题15分)

1. 用一条SQL语句查询出每门课都大于80分的学生姓名

name kecheng fenshu 张三 语文 81 张三 数学 75 李四 语文 76 李四 数学 90 王五 语文 81 王五 数学 100 王五 英语 90

select distinct name from student where name not in (select name from student where fenshu<81);

2. 学生表 如下:

自动编号 学号 姓名 课程编号 课程名称 分数 1 2005001 张三 0001 数学 69 2 2005002 李四 0001 数学 89 3 2005001 张三 0001 数学 69 4 2005001 张三 0001 数学 69

请写出删除除了自动编号不同,其他都相同的学生冗余信息的方法:

SELECT WHERE

distinct 学号,姓名,课程编号,课程名称,分数,max(自动编号) = \学号& \ ORDER BY 姓名 ASC from students 学号