数据库测试题

一,简述题(每题5分)

1,    表:table(Id,class,score),用最高效最简单的SQL列出各班成绩最高的列表,显示班级,成绩两个字段。

2,    表明:student  

name

course

score

张青

语文

72

王华

数学

72

张华

英语

81

张青

物理

67

张立

化学

98

张燕

物理

70

张青

化学

76

查询出“张”姓学生中平均成绩大于75分的学生信息。

3,    高考信息表:student

ID

A

B

C

D

E

2006001

108

119

98

127

136

2006002

149

105

110

142

129

给出高考总分在600以上的,并没有不及格(低于60分)的学生准考证号。

4,    表名:table2

购物人

商品名称

数量

name

con_name

number

A

2

B

4

C

1

A

2

B

5

给出所有购入商品为两种或两种以上的购物人记录。

5,    表table3

C1

C2

2005-01-01

1

2005-01-01

3

2005-01-02

5

要求结果数据

2005-01-01

4

2005-01-02

5

试用一个sql语句完成。

6,    如下表(T2)为某班级某一学期的数学成绩;

学号

成绩

199801001

85

199801002

76

199801003

98

199801004

54

199801005

39

199801006

61

问题:请根据t2表的内容输出如下两行数据,要求SQL语句最简。

类别   人数

================

及格     4

不及格   2

7,    简述SELECT查询语句中避免使用“*”为什么?

8,    什么是分区表?简述范围分区和列表分区的区别,分区表的主要优势有哪些。

9,    简述EXISTS和IN的效率。

10,   比较truncate,delete,drop命令。

11,   简述下对索引的理解,及使用索引的理由。

12,   列出你知道的几个视图。

二,分析编码题(40分)

(1) 请使用SQL语句,建立如下表table6,它们结构如下:(10分)

ID

varchar(30)

标识号

设为主键

code

varchar(7)

商品编码

不为空

codename

varchar(30)

商品名称

不为空

spec

varchar(20)

商品规格

不为空

price

number(10,2)

价格

不为空

sellnum

int

销售数量

 

deptmo

varchar(3)

售出分店编码

 

selldate

date

销售时间

 

(2)插入一条标识号为“01”,商品编码为“010”,商品名称为“电话”,商品规格为“CZ011”,价格为2300,销售数量2,售出分店编码为“12”,销售时间2002-3-15的记录。(5分)

(3)写出查询销售时间段在2002-2-15日到2002-4-29之间,售出分店编码是01的所有记录。(10分)

(4)在table6数据表中增加“No_id”字段,数据类型varchar(12)不为空,并将其设定为UNIQUE约束,写出其命令语句。(7分)

(5)删除标识号为01的记录。(8分)

posted @ 2017-09-06 11:24  乔伊米洛  阅读(699)  评论(1编辑  收藏  举报