当前位置:文档之家› 数据库实验7-1答题文件(答案)

数据库实验7-1答题文件(答案)

第7章SQL结构化查询语言
实验7-1 SQL基本操作
实验要求
1.将服务器上的数据源文件夹“data7-1”下载到本地盘(比如E:\);
2.打开其中的“实验7-1答题文件.doc”文件,边做实验边将各题的操作步骤或所用的命令记录在该文件中。

实验完成后将实验完成后将整个文件夹上传到你的“作业”文件夹中。

3、在答题时将答案的文字格式加上蓝色加粗。

实验步骤
1.“学生.dbf”的SQL语言的简单查询
操作步骤:
在命令窗口中依次输入如下命令:
(1) 使用set default to 命令设置默认路径:
set default to E:\ data7-1
(2) 查询“学生.dbf”中的所有字段的内容:
SELECT * FROM 学生
(3) 查询“学生.dbf”中的“姓名”、“出生日期”和“性别”字段的内容:
SELECT 姓名,出生日期,性别FROM 学生
(4) 查询“学生.dbf”中的所有女生的记录内容,并按年龄降序排列:
SELECT * FROM 学生WHERE 性别="女" ORDER BY 年龄DESC
(5) 查询“学生.dbf”中出生日期在1983年1月1日至1984年1月1日的所有学生“姓名”、“出生日期”和“性别”字段的内容:
SELECT 姓名,性别,出生日期FROM 学生;
WHERE 出生日期>= date(1983,1,1) ;
AND 出生日期<= date(1984,1,1)
或:
SELECT 姓名,性别,出生日期FROM 学生;
WHERE 出生日期between date(1983,1,1) and date(1984,1,1) 或:
70
SELECT 姓名,性别,出生日期FROM 学生;
WHERE 出生日期between {^1980-1-1} and {^1984-1-1}
(6) 分别统计出“学生.dbf”中男、女生的平均年龄:
SELECT 性别,A VG(year(date())-year(出生日期)) AS 平均年龄FROM 学生;
GROUP BY 性别
2.“教师信息表.dbf”SQL语言的简单查询
操作步骤:
在命令窗口中依次输入如下命令:
(1) 使用set default to 命令设置默认路径:
set default to E:\ data7-1
(2)查询“教师信息表.dbf”中所有信息,并按参加工作的先后次序排列:
SELECT * FROM 教师信息表ORDER BY 工作日期DESC
(3) 查询“教师信息表.dbf”中姓李的老师:
SELECT * FROM 教师信息表WHERE (姓名LIKE ‘李%’)
(4) 在“教师信息表.dbf”中,按职称分组,列出每种职称最低基础工资:
SELECT 职称,MIN(基础工资) AS 最低工资FROM 教师信息表;
GROUP BY 职称
(5) 在“教师信息表.dbf”中,分组计算各种职称的平均工资:
SELECT 职称,avg(基础工资) as 平均工资;
FROM 教师信息表GROUP BY 职称
(6) 查询“教师信息表.dbf”中80年代(80-89年)参加工作的女教师的记录内容:
SELECT * FROM 教师信息表;
WHERE (工作日期>= '1980-01-01');
AND (工作日期<= '1989-12-31');
AND (性别= '女')
或:
SELECT * FROM 教师信息表;
WHERE (工作日期BETWEEN '1980-01-01' AND '1989-12-31');
AND (性别= '女')
或:以下虽不算错,但是CONVERT多此一举
SELECT * FROM 教师信息表;
WHERE (性别= '女');
AND (工作日期>=CONVERT(datetime, '1979-12-31 00:00:00',102));
AND (工作日期< CONVERT(datetime, '1990-1-1 00:00:00',102)) 或:
71
SELECT * FROM 教师信息表;
WHERE (性别= '女');
AND 工作日期between CONVERT(datetime, '1979-12-31');
AND CONVERT(datetime, '1990-1-1')
3.“成绩表.dbf”的SQL语言的简单查询
操作步骤如下:
在命令窗口中依次输入如下命令:
(1) 使用set default to 命令设置默认路径:
set default to E:\ data7-1
(2)查询“成绩表.dbf”中“学号”、“姓名”和各科目总分,命名“总分”的记录内容:
SELECT 学号,姓名,数学+英语+政治+计算机as 总分FROM 成绩表
(3)查询“成绩表.dbf”中按总分高低排序后的前3名的所有字段加上“总分”和“平均分”信息:
SELECT TOP 3 *,数学+英语+政治+计算机as 总分, ;
(数学+英语+政治+计算机)/4 as 平均分FROM 成绩表;
ORDER BY 总分
注:平均分要用“(数学+英语+政治+计算机)/4”表示,而不能用“总分/4”表示。

(4)查询“成绩表.dbf”中数学成绩最高分和总人数,并指定该列的标题为“数学最高分”:
SELECT MAX(数学) AS 数学最高分,COUNT(*) AS 总人数FROM 成绩表
(5)查询“成绩表.dbf”中英语成绩在80到90之间的学生信息:
SELECT * FROM 成绩表WHERE 英语BETWEEN 80 AND 90 或:
SELECT * FROM 成绩表WHERE 英语>=80 and英语<=90 注:BETWEEN包括边界值,而NOT BETWEEN不包括边界值
72。

相关主题