数据库实验4 数据查询.docx
《数据库实验4 数据查询.docx》由会员分享,可在线阅读,更多相关《数据库实验4 数据查询.docx(20页珍藏版)》请在冰豆网上搜索。
![数据库实验4 数据查询.docx](https://file1.bdocx.com/fileroot1/2023-1/22/63e5266f-3822-4f7c-b186-39460c452cce/63e5266f-3822-4f7c-b186-39460c452cce1.gif)
数据库实验4数据查询
实验4:
数据查询
1.实验目的:
熟练掌握SQLSELECT语句,能够运用该语句完成各种查询。
2.实验要求:
熟练掌握SQLSELECT语句,完成各个实验的内容,能够举一反三,灵活运用,能够通过本章介绍的一些基本语句,构造各种各样的查询。
3.实验环境与实验器材:
实验环境:
计算机,网络环境,投影设备。
实验相关软件:
WindowXP、SQLServer2000。
4.实验内容与步骤
本实验通过使用Transact-SQL语句,对已经建立的数据库进行查询操作。
4.1查询指定字段
编写select语句,显示“学生档案表”中的学号、姓名、籍贯、专业以及班级字段。
第一步:
打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
select学号,姓名,籍贯,专业,班级from学生档案表
如图:
第二步:
单击“SQL查询分析器”界面上部的绿色三角形“执行查询”按钮,查询对话框下半部分显示查询结果,如图:
4.2通配符“*”的使用
编写select语句,显示“学生选课表”中的所有字段。
第一步:
打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
select*from学生选课表
如图:
第二步:
单击“SQL查询分析器”界面上部的绿色三角形“执行查询”按钮,查询对话框下半部分显示查询结果,如图:
4.3基于字段的表达式
在学生档案表中,按“XXXX年XX月XX日”的格式显示出生日期。
使用year函数从“出生日期”字段中取得年份数据,再使用str函数将数值型的年份数据转换成字符型,最后使用“+”将字符串拼接起来。
第一步:
打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
select学号,姓名,性别,
str(year(出生日期),4)+'年'+str(month(出生日期),2)+'月'+str(day(出生日期),2)+'日'as出生日期
from学生档案表
如图:
第二步:
单击“SQL查询分析器”界面上部的绿色三角形“执行查询”按钮,查询对话框下半部分显示查询结果,如图:
4.4用WHERE子句过滤记录
在学生档案表中查询所有出生日期在“1983-01-01”至“1984-12-31”之间的所有学生的信息。
第一步:
打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
select*
from学生档案表
where出生日期>='1983-01-01'and出生日期<='1984-12-31'
如图:
第二步:
单击“SQL查询分析器”界面上部的绿色三角形“执行查询”按钮,查询对话框下半部分显示查询结果,如图:
4.5DISTINCT短语的使用
在教学任务表中列出所有任课教师ID,将重复的记录去掉。
第一步:
打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
selectdistinct任课教师ID
from教学任务表
如图:
第二步:
单击“SQL查询分析器”界面上部的绿色三角形“执行查询”按钮,查询对话框下半部分显示查询结果,如图:
4.6使用ORDERBY子句对查询结果排序
在学生成绩表中,显示所有学生的记录,并将平时成绩和期末成绩降序排列。
第一步:
打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
select*from学生成绩表
orderby期末成绩,平时成绩
如图:
第二步:
单击“SQL查询分析器”界面上部的绿色三角形“执行查询”按钮,查询对话框下半部分显示查询结果,如图:
4.7统计函数的使用
1.COUNT函数
⑴在“学生成绩表”中列出已登记成绩的学生个数。
第一步:
打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
selectcount(distinct学号)as已登记成绩的学生个数
from学生成绩表
如图:
第二步:
单击“SQL查询分析器”界面上部的绿色三角形“执行查询”按钮,查询对话框下半部分显示查询结果,如图:
⑵统计“教学任务表”中课程的个数。
第一步:
打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
selectcount(*)as课程门数
from教学任务表
如图:
第二步:
单击“SQL查询分析器”界面上部的绿色三角形“执行查询”按钮,查询对话框下半部分显示查询结果,如图:
2.MAX、MIN、AVG函数
求在学生成绩表中,期末成绩的最大值、最小值、平均值。
第一步:
打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
selectmax(期末成绩)as期末成绩最高分,
min(期末成绩)as期末成绩最低分,
avg(期末成绩)as期末成绩平均分
from学生成绩表
如图:
第二步:
单击“SQL查询分析器”界面上部的绿色三角形“执行查询”按钮,查询对话框下半部分显示查询结果,如图:
3.GROUPBY子句
在课程信息表中,统计不同类别课程的学分总数。
第一步:
打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
selectsum(学分)
from课程信息表
groupby课程类别
如图:
第二步:
单击“SQL查询分析器”界面上部的绿色三角形“执行查询”按钮,查询对话框下半部分显示查询结果,如图:
4.8INTO子句的使用
将“学生档案表”中所有籍贯为“湖北”的学生的基本信息查询结果输出到“湖北学生基本信息”的新建表中,然后对“湖北学生基本信息”进行查询。
第一步:
打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
select*
into湖北学生基本信息
from学生档案表
where籍贯='湖北'
单击“SQL查询分析器”界面上部的绿色三角形“执行查询”按钮,查询对话框下半部分显示查询结果,如图:
第二步:
打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
select*from湖北学生基本信息
单击“SQL查询分析器”界面上部的绿色三角形“执行查询”按钮,查询对话框下半部分显示查询结果,如图:
4.9连接查询
列出湖北学生的学号、姓名、所选课程以及该课程的期末成绩。
第一步:
打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
select学生档案表.学号,姓名,课程ID,期末成绩
from学生档案表,学生成绩表
where学生档案表.学号=学生成绩表.学号and籍贯='湖北'
如图:
第二步:
单击“SQL查询分析器”界面上部的绿色三角形“执行查询”按钮,查询对话框下半部分显示查询结果,如图:
4.10嵌套查询
查询期末成绩大于80分的所有学生的姓名和专业。
第一步:
打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
select学号,姓名,专业
from学生档案表
where学号in
(select学号
from学生成绩表
where期末成绩>80)
如图:
第二步:
单击“SQL查询分析器”界面上部的绿色三角形“执行查询”按钮,查询对话框下半部分显示查询结果,如图:
4.11扩展实验
1).编写select语句,显示“教师档案表”中的姓名、性别、职称、单位字段。
第一步:
打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
select姓名,性别,职称,单位
from教师档案表
第二步:
单击“SQL查询分析器”界面上部的绿色三角形“执行查询”按钮,查询对话框下半部分显示查询结果,如图:
2).编写select语句,显示“课程信息表”中所有的字段。
第一步:
打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
select*from课程信息表
第二步:
单击“SQL查询分析器”界面上部的绿色三角形“执行查询”按钮,查询对话框下半部分显示查询结果,如图:
3).在学生档案表中,按“XXXX.XX.XX”的所有的字段。
第一步:
打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
select学号,姓名,性别,籍贯,专业,班级,
str(year(出生日期),4)+'.'+str(month(出生日期),2)+'.'+str(day(出生日期),2)+'.'as出生日期
from学生档案表
第二步:
单击“SQL查询分析器”界面上部的绿色三角形“执行查询”按钮,查询对话框下半部分显示查询结果,如图:
4).在学生档案表中查询所有湖北学生的基本信息。
第一步:
打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
select*from湖北学生基本信息
第二步:
单击“SQL查询分析器”界面上部的绿色三角形“执行查询”按钮,查询对话框下半部分显示查询结果,如图:
5).在学生档案表中列出所有学生籍贯,将重复的记录去掉。
第一步:
打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
selectdistinct籍贯
from学生档案表
第二步:
单击“SQL查询分析器”界面上部的绿色三角形“执行查询”按钮,查询对话框下半部分显示查询结果,如图:
6).在学生成绩表中,显示学生所有记录,并按期末成绩降序排序。
第一步:
打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
select*from学生成绩表
orderby期末成绩desc
第二步:
单击“SQL查询分析器”界面上部的绿色三角形“执行查询”按钮,查询对话框下半部分显示查询结果,如图:
7).在学生成绩表中,求平时成绩的最大值、最小值、平均值。
第一步:
打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
selectmax(平时成绩)as平时成绩最高分,
min(平时成绩)as平时成绩最低分,
avg(平时成绩)as平时成绩平均分
from学生成绩表
第二步:
单击“SQL查询分析器”界面上部的绿色三角形“执行查询”按钮,查询对话框下半部分显示查询结果,如图:
8).将学生成绩表中所有期末成绩大于80分的学生的学号、课程ID、平时成绩和期末成绩的查询结果输出到“优等生成绩表”的新建表中,然后对“优等生成绩表”进行查询。
第一步:
打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
select*
into优等生成绩表
from学生成绩表
where期末成绩>80
单击“SQL查询分析器”界面上部的绿色三角形“执行查询”按钮,查询对话框下半部分显示查询结果,如图:
第二步:
打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
select*
from优等生成绩表
单击“SQL查询分析器”界面上部的绿色三角形“执行查询”按钮,查询对话框下半部分显示查询结果,如图:
9).列出所有女教师的ID、姓名以及所带课程。
第一步:
打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
select教师档案表.教师ID,姓名,课程ID
from教师档案表,教学任务表
where教学任务表.任课教师ID=教师档案表.教师IDand性别='F'
第二步:
单击“SQL查询分析器”界面上部的绿色三角形“执行查询”按钮,查询对话框下半部分显示查询结果,如图:
10).查询北京学生的学号、课程ID和选课类别。
第一步:
打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
select学生档案表.学号,课程ID,课程类别
from学生档案表,学生选课表
where学生档案表.学号=学生选课表.学号and籍贯='北京'
第二步:
单击“SQL查询分析器”界面上部的绿色三角形“执行查询”按钮,查询对话框下半部分显示查询结果,如图:
5.思考与总结