一,简述题(每题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分)