04 单表查询—教学设计
实验四 单表与多表查询

实验四单表与多表查询
一、实验目的:理解查询概念和方法,掌握用查询编辑器和select语句实现单表与多表查询方法。
二、实验内容及步骤
1、单表查询
(1)查询所有姓‘李‘学生信息
方法一:Select * from student where sname like ‘李%’
方法二:用查询编辑器
打开查询编辑器,在“显示关系图”窗口选择输出字段列,在“显示条件窗格”的“筛选条件”窗格输入筛选条件,最后查询结果将在“显示结果窗格”输出。
(2)查询成绩在60-70分之间学生学号、课程号、成绩
Select sno,cno,grade from sc where between 60 and 70
(3)查询统计每个学生选课门数。
Select sno,count(cno)from sc group by sno
2、多表查询(两种方法)
查询所有选课学生信息,包括学号,姓名,系别,课程号,课程名,成绩,学分
方法一:
Select student.sno,sname,sdept,o,cname,grade,credit
From student,sc,course
Where student.sno=sc.sno and o=o
方法二:打开查询编辑器,在“显示关系图”窗口把查询表添加进来,同时选择输出字段列三、实验总结及心得
四、实验结果(在下一页,要求打印出来附在报告后。
第4章 单表查询

第四章 单表查询
• 简单查询 • 高级查询 • 按条件查询 • 为表和字段取别名
✎ 学习目标
1
掌握简单查询、 按条件查询 掌握
让IT教学更简单,让IT学习更有效
了解为表和字
熟悉高级查询
3
段取别名
2
目录
简单查询
让IT教学更简单,让IT学习更有效
☞点击查看本小节知识架构
– 2、在SELECT语句中使用星号(“*”)通配符代替所有字段 – 在SELECT语句中列出所有字段名来查询表中的数据,其语法格式 如下:
SELECT * FROM 表名;
– 【例4-2】在SELECT语句中使用星号(“*”)通配符查询student表中 的所有字段,SQL语句如下所示:
SELECT * FROM student;
按条件查询
☞点击查看本小节知识架构
高级查询
☞点击查看本小节知识架构
为表和字段取别名
☞点击查看本小节知识架构
知识架构
让IT教学更简单,让IT学习更有效
返回目录
4.1 简单查询
4.1段
4.1.3
查询指定字段
知识架构
返回目录
让IT教学更简单,让IT学习更有效
– 【例4-9】查询student表中id值在2和5之间的学生姓名,SQL语句 如下所示:
SELECT id,name FROM student WHERE id BETWEEN 2 AND 5;
– 执行结果如下所示:
4.2 按条件查询
让IT教学更简单,让IT学习更有效
• 4.2.3 带BETWEEN AND关键字的查询
4.2 按条件查询
单表查询

《数据库原理》实验指导实验3 单表查询一、实验目的本实验的目的是使学生掌握SQL Server查询分析器的使用方法,并熟练掌握单表查询、数据排序、聚集函数。
二、实验内容本实验使用实验二中建立的基本表Student、Course、SC和Teacher中的元组。
在SQL Server2008查询分析器中,完成如下查询要求:(1)求全体学生的姓名、性别和所在系。
(2)求该校的所有系名。
(3)求计科系男生的学号和姓名。
(4)求年龄在19-21岁(包含19岁和21岁)之间的学生姓名和所在系。
(5)求存在先行课的课程的课程名和学分。
(6)求数学系或者信息系的学生姓名。
(7)求以“数据”开头的所有课程的课程名和学分。
(8)求课程DB_Design的学分。
(9)求缺考学生的学号和课程号。
(10)求选修了2号课程学生的学号和成绩。
(11)求计科系老师的姓名和工资。
(12)求姓王的老师的姓名和所在系。
(13)求工资在2500-3500之间的老师姓名。
(14)求外语系所有副教授的姓名和年龄。
(15)求所有女老师的姓名、年龄和所在系。
(16)求学生的总人数。
(17)求选修了课程的学生人数。
(18)求课程号和选修了该课程的学生人数。
(19)求教师人数超过4人的系名。
(20)求学生的学号及其选修课程的总成绩。
(21)求系名和各系老师的平均年龄。
(22)求各门课程课程号和平均成绩。
(23)求选修课程号为1的学号和成绩,并要求对查询结果按成绩的降序排列,学号的升序排列。
(24)求选修课程号为1且成绩在80~95之间的学生学号和成绩,并且成绩乘以0.8输出,将输出的列名改成“学号”和“成绩*0.8”。
(25)求3号课程的最高分。
三、实验方法将查询需求用SQL语言表示;在SQL Server查询分析器的输入区中输入SQL查询语句;编译和发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确为止。
单表查询实验报告

《数据库系统概论》实验报告实验名称:单表查询实验人:实验地点:实验楼317实验日期:2009-10-5一、实验准备1.硬件及软件环境要求为了使该实验顺利进行,需要有一台计算机,计算机必须安装Windows 2000、Windows XP或Windows NT操作系统,还必须安装Microsoft SQL Server 2000 任意一版本(个人版、标准版、企业版)。
实验开始之前,必须将实验1.2节中创建好的SCDB数据库和ShiYan数据库附加到当前SQL数据库服务器中。
2.本实验涉及的主要SQL语句的语法格式(1) SELECT子句指定由查询返回的列。
SELECT [ ALL | DISTINCT ][ TOP n [ PERCENT ] [ WITH TIES ] ]< select_list >< select_list > ::={ * |{table_name|view_name|table_alias}.*|{column_name|expression|IDENTITYCOL|ROWGUIDCOL}[[AS]column_alias] | column_alias = expression } [ ,...n ]【说明】ALL:默认设置,指定在查询结果集中可以显示重复行。
DISTINCT:指定在查询结果集中不显示重复行,空值被认为相等。
TOP n:指定只从查询结果集中输出前n行。
PERCENT:指定只从查询结果集中输出前n%行,当指定时带PERCENT,则n 的值必须介于0~100之间。
WITH TIES:指定从基本查询结果集中返回附加的行。
如果使用了ORDER BY 子句,则只能使用TOP或WITH TIES选项。
select_list:指定查询列或列表达式(即查询列表)。
各查询列表之间以逗号分隔。
*:指定在FROM 子句内返回所有表和视图内的所有列。
列按FROM 子句所指定的由表或视图返回,并按它们在表或视图中的顺序返回。
单表查询

select语句的练习实验目的:1、熟练基本SELECT查询,掌握脚本的修改和执行2、掌握使用SELECT语句的主要子句,实现数据表的基本检索3、掌握数据库的导入要求:按提示记录你做实验的相关语句和查询结果,用红色字显示。
实验内容:一、数据库的导入操作:打开管理控制台,右击数据库节点,点击附加,在弹出的界面点击添加按纽,选择该实验中带的sale.mdf文件,然后点击确定即把sale.mdf数据库导入成功。
二、利用系统学习数据库使用SELECT查询技术操作要求:利用刚才导入的数据库sale.mdf,练习使用SELECT语句,从数据库中检索符合条件的记录数据。
按下列要求执行,分别在试题下边写出Transcat-SQL语句,在执行后并把查询结果复制到试题下边:练习1:查询员工表employees中所有员工的姓名和联系电话。
语句:SELECT姓名,电话from Employees查询结果:练习2:查询员工表employees中的所有记录。
语句:SELECT*from Employees查询结果:练习3:查询进货表goods中的所有商品的生产厂商。
语句:SELECT生产厂商from Goods查询结果:练习4:查询进货表goods中有哪些生产厂商。
语句:SELECT distinct生产厂商from Goods查询结果:练习5:查询进货表goods中商品名称、零售价和数量的前4条记录。
语句:SELECT top 3 商品名称,零售价,数量from Goods查询结果:练习6:在Employees表中查询姓名为王峰的员工的联系电话。
语句:SELECT电话from Employeeswhere姓名='王峰'查询结果:练习7:查询进货表goods中笔记本电脑的进货信息。
语句:SELECT*from Goodswhere商品名称='笔记本电脑'查询结果:练习8:查询sell表中在2005年1月1日以前销售的商品信息。
实验2 单表查询实验

实验D02: 单表查询实验一、实验名称和性质二、实验目的1.掌握数据的基本检索方法;2.掌握数据查询的Group by和Order by子句的使用;3.掌握聚集函数的使用方法。
三、实验的软硬件环境要求硬件环境要求:PC机(单机)使用的软件名称、版本号以及模块:Windows XP下的SQL Server 2000(或SQL Server 2005)四、知识准备前期要求掌握的知识:数据检索的语句格式:SELECT [ALL|DISTINCT] <目标列表达式列表>FROM <表名或视图名列表>[ WHERE <条件表达式> ][ GROUP BY <列名1> [ HA VING <条件表达式> ] ][ ORDER BY <列名2> [ ASC|DESC ] ]其中,SELECT后的目标列表达式可以是列名、表达式或函数。
GROUP BY子句:对查询结果按指定列的值分组,该属性列值相等的元组为一个组。
通常会在每组中作用集函数。
HA VING短语:筛选出只有满足指定条件的组ORDER BY子句:对查询结果表按指定列值的升序或降序排序注意:T-SQL语句中关键字不区分大小写五、实验内容1.对数据表进行简单检索;2.对数据表进行排序检索;3.在检索中使用聚集函数;六、验证性实验先选择要操作的数据库,用T-SQL命令:USE STUDENT或在工具栏的当前数据库中选择STUDENT,工作数据库图2-1以下查询要求在逐个语句执行,执行后将执行结果记录下来:1.无条件查询全部数据2.在SELECT关键字后指明要检索的列名(1)查询S表的学生学号和姓名(2)查询S表中的系部名(3)查询S表中不重复的系部名3.改变列标题的检索(1)使用空格形式:列名新标题(2)使用“AS”形式,列名 AS 新标题(3)使用(列名/表达式)新标题形式4.有条件选择的查询(1)在S表检索“信息系”的学生信息(2)在S表中检索姓“王”的学生信息(3)在SC表检索’C01’选修课成绩为空的选课记录(4)检索年龄为21,18,22的学生学号、姓名Age IN {21,18,22}表示某条记录的AGE字段值是否是集合{21,18,22}中的元素,如是,则选择。
《sql语句的单表查询实验》教学设计

பைடு நூலகம்
≪S。L单表查询实验》教学设计 广州市信息工程职业学校肖维明 小结:罗列本课中各有关SELECT查询语句,分析语法结构与注意事项;剖析各附加子句的 小结 运算关系,强调组合使用的效果。 和评 教学 反思 评价:对学习过程中的积极练习的小组和个人进行表扬。课后收集学生实验报告。 本课实验练习的SELECT单表查询命令是非常复杂多变的•组命令语句,语法结构复杂,附 加子句功能多。在练习前很有必要与学生重温SELECT语句命令的语法,并拆分讲解附加子 句的功能特点,编写要求,让学生有比较清晰地印象。而后设计的查询实验题目有针对性地 应用不同的查询命令组合形式,让学生在练习中可接触尽可能多的查询效果,并争取举•反 三。在活动教学开展过程,学生学习积极性要大力保护与促进,所以尽可能安排小组学习互
助,既实现了协助式学习效果,又可形成一种互进的浓厚学习氛围。 八、教学流程图
单表查询.doc

实验目的和要求:利用SQL语言在数据库中进行单表的数据查询操作。
实验内容:1在SM数据库中新建表Teacher,包括如下数据项Teacher(Tno,TName,age,sal,mgr,DNo)。
其中Tno为教师编号、Tname为教师姓名、age为年龄,sal为月薪,mgr为教职工的上一级领导(即上一级领导的职工号),DNo为部门号。
添加十行数据。
2 SELECT子句的应用。
(1) 查看所有职工的信息。
(2) 查看所有职工的职工号、姓名,并且将输出结果中的列名显示为“教职工号”、“姓名”。
(3) 查询所有教职工的姓名和年薪,并且将输出结果中的列名显示为“姓名”、“年薪”、“币种单位”,其中币种单位的值为“元”。
3 WHERE子句的应用。
(1) 查询所有0002部门职工的信息。
(2) 查询1980年到1985年出生的教师。
(3) 查询姓王的教师的信息。
4 ORDER BY子句的应用。
(1) 查询职工的年薪,并按年薪的升序排列。
5 聚合函数的应用(1) 统计职工的工资总额。
(2) 统计职工的工资总额,并显示每个职工的工资情况。
(3) 求职工的最高工资、最低工资和平均工资。
(4) 求‘0003’部门教师的总人数。
create table Teacher(Tno char(6) not null,Tname varchar(20) not null,Age int,Sal money,Mgr char(6),Deptno char(4))i n s e r t i n t o T e a c h e rv a l u e s('020131','宋晓跃',32,2980,'020101','0002')i n s e r t i n t o T e a c h e rv a l u e s('020132','刘玉玲',29,2350,'020101','0002')i n s e r t i n t o T e a c h e rv a l u e s('020133','魏斯理',38,3560,'020101','0002')i n s e r t i n t o T e a c h e rv a l u e s('020134','王强',26,2180,'020102','0002')i n s e r t i n t o T e a c h e rv a l u e s('020135','张晓',27,2180,'020101','0002')i n s e r t i n t o T e a c h e rv a l u e s('030236','任静',30,2980,'030201','0003')i n s e r t i n t o T e a c h e rv a l u e s('030237','马玉静',42,4980,'030201','0003')i n s e r t i n t o T e a c h e rv a l u e s('030238','辛东海',30,2680,'030201','0003')i n s e r t i n t o T e a c h e rv a l u e s('030239','王峰',40,4680,'030201','0003')i n s e r t i n t o T e a c h e rv a l u e s('030240','童心力',27,2180,'030201','0003')s e l e c t*f r o m T e a c h e rs e l e c t T n o教职工号,T n a m e姓名f r o m T e a c h e rs e l e c t T n a m e姓名,s a l*12年薪,币种单位='元'f r o m T e a c h e rs e l e c t*f r o m T e a c h e rw h e r e D e p t n o='0002's e l e c t*f r o m T e a c h e rw h e r e A g e b e t w e e n y e a r(g e t d a t e())-y e a r('1985-1-1')a n dy e a r(g e t d a t e())-y e a r('1980-1-1')s e l e c t*f r o m T e a c h e rw h e r e T n a m e l i k e'王%'s e l e c t T n o教职工号,s a l*12年薪f r o m T e a c h e ro r d e r b y年薪s e l e c t s u m(s a l)工资总额f r o m T e a c h e rs e l e c t T n o教职工号,s a l月工资f r o m T e a c h e rc o m p u t e s u m(s a l)s e l e c t m a x(s a l)最高工资,m i n(s a l)最低工资,a v g(s a l)平均工资f r o m T e a c h e rs e l e c t c o u n t(D e p t n o)f r o m T e a c h e rw h e r e D e p t n o='0003'。
《数据库原理》实验4--简单的单表查询

《数据库原理》实验4--简单的单表查询实验四:简单的单表查询一、实验目的1.掌握SELECT语句的基本语法;2.掌握SELECT子句的作用和使用方法;3.掌握FROM子句的作用和使用方法;4.掌握WHERE子句的作用和使用方法;5.掌握查询条件表达式和使用方法;6.掌握ORDER BY子句的作用和使用方法。
二、实验环境已安装SQL Server 2005 企业版的计算机;三、实验学时2学时四、实验要求1.了解数据库简单的单表查询;2.了解数据库查询的实现方式;3.完成实验报告;五、实验原理用SELECT语句实现简单的单表查询。
在SELECT子句中用TOP 关键字来限制返回到结果集中的记录数目,用DISTINCT关键字从结果集中去掉重复的记录。
WHERE子句中用关系比较符、[NOT] BETWEEN、[NOT] IN、LIKE、 IS [NOT] NULL及逻辑运算符构成查询条件,对结果集中的记录进行筛选。
ORDER BY子句将根据查询结果集中一个或多个字段对查询结果进行排序。
六、实验示例运行上一实验中创建的两个数据库S_T和company的查询文件S_T.sql和company.sql 文件,生成实验所需的数据库。
针对company数据库:1.查找表中所有姓刘的职工的工号,姓名,部门,薪水select emp_no, emp_name, dept, salaryfrom employeewhere emp_name like '刘%'2.查找所有定单金额高于20000的所有客户编号select cust_idfrom saleswhere tot_amt>200003.查找业务部或会计部的女员工的工号、姓名和所属部门。
select emp_no,emp_name,deptfrom employeewhere sex='女' and dept in ('业务','会计')4.选取编号界于‘C0001’和‘C0004’的客户编号、客户名称、客户地址。
实验二+单表查询

(2)向SC表中增加成绩(Grade)列,其数据类型为短整型。
2、用SQL语句完成如下对三个表的查询(请给出SQL语句及执行结果的截图):
(1)查询所有课程的课程号和课程名。
(2)查询全体学生的记录。
(3)查询学生表中的所有的系。
(4)查询全体学生的姓名、出生年份和所在的院系,并为出生年份和所在院系两列分别起别名为sbirth,department,并将系名全部转换成小写字母。
(12)查询课程的总数。
(13)查询选修2号课程的学生平均成绩和最高成绩,并分别为平均成绩和最高成绩起别名为AVG,MAX。
(14)求选课的学生学号及对应的所选课的门数。
(15)查询选修了2门及以上的课程的学生学号
(5)求数学系学生的学号和姓名
(6)查询所有考试成绩在80分以下的学生学号、课程号。
(7)查询学分在2~7之间的课程信息。
(8)查询DB_Design课程的课程号和学分。
(9)查询没有先修课的课程号、课程名及学分。
(10)查询信息系学生性别为男且年龄小于20岁的学生姓名。
(11)查询选修了3号课程的学生的学号及成绩,并要求对查询结果按成绩的降序排列,如现方式做保护处理对用户上传分享的文档内容本身不做任何修改或编辑并不能对任何下载内容负责
实验二
实验名称:单表查询、实验性质:验证性、成绩:
实验学时数:6学时、姓名:马慧妍、学号:5007140007
一、实验目的
1、掌握基本表的定义、结构的修改及删除;
2、掌握索引的建立及删除;
3、掌握Select语句的基本语法;
4、掌握Group By子句的作用和使用方法;
5、掌握聚集函数的使用;
4.1 设计查询1(单表查询)

书本:第44页
第四章 查询和视图设计
• • • • • 本章知识目标: 1、掌握使用查询向导以及查询设计器建立查询的方法 2、掌握多表查询 3、掌握视图设计器的使用 4、掌握视图的更新、定制和使用
前言
• 数据查询是处理数据最常用的操作之一,可以在数据库中 将用户将用户所需的信息提取出来,以方便用户的统计和 决策工作。在本章中将介绍查询的建立过程,学习使用查 询向导及查询设计器建立查询的方法,学习建立表单查询、 多表查询的方法。视图可以看做一个定制的特殊的表,具 备了表和查询的特点,并且存储于数据库中,不能独立存 在。使用视图可以更新数据表的数据,并且将更新的结果 返回到源数据表中。在本章将要介绍视图设计器的使用, 学习视图的更新,视图的定制和使用。
4.1 设计查询
• 1、查询设计器 • (1)启动查询设计器方法
第1部分:建立查询所需的 数据表或者视图及其字段
查询设计器窗口分2部分
第2部分:6个选项卡组成
(1)字段选项卡
字段选项卡用于选取查询结果中要输出的字段, 包括:可用字段 选定字段 函数和表达式
(1)字段选项卡
• (1)可用字段:该列表框中列出添加到查询设计器中的 表的所有字段,可以从中选择查询结果中要输出的字段。 • (2)选定字段:该列表框用于显示从可用字段列表中选 取的字段和构造的函数和表达式。 • (3)函数和表达式:构造一个函数表达式作为查询结果 的一部分输出。 • (4)添加、全部添加、移去、全部移去:单击可以分别 将选中的字段添加到选定字段列表框中、将全部字段添加 到选定字段列表框中、将选中的字段从列表框中移走。
• 题目:建立一个查询,显示学生基本情况表中 “女”学生的学号、姓名、性别。
实训6 数据查询-单表查询

比较多表联接与子查询的优缺点。
WHERE Sname LIKE'_军%'
8.
USE TS
SELECT COUNT(*)总人数FROM Student
附加1.
Uห้องสมุดไป่ตู้E TS SELECT *
FROM Student
附加2.
USE TS
SELECT Sname,Ssex FROM Student
WHERE Sdept='信息系'or Sdept='计算机系'or Sdept='通信系'
USE TS
SELECT DISTINCT Sno FROM SC
5.
USE TS
SELECT Sno,Sname,2016-Sage出生年份FROM Student
6.
USE TS
SELECT Sno,Sname FROM Student
WHERE Sname LIKE'王%'
7.
USE TS
SELECT Sno,Sname FROM Student
实验内容:
1.查询成绩在80分以上的学生的学号。
2.查询年龄在18到20区间的学生信息。
3.查询计算机系党员的信息。
4.查询选了课的学生学号,要求去掉重复行。
5.查询学生的出生年份。
6.查询姓王的学生的学号和姓名。
7.查询第二个字是军的学生的学号和姓名。
8.统计学生总人数。
实验步骤:
1.
USE TS
郑州澍青医学高等专科学校实验教学教案
实验名称
实训6 数据查询-单表查询
实验学时
2
【信息技术教学设计】《多表查询》教学设计

【关键字】信息技术教学设计《多表查询》教学设计[教学对象分析]:1.学生学过select 部分语句,对FROM 子句有一定的理论认识和上机的经验。
2.高中二年级的学生,功课压力大,喜欢轻松学习计算机,又不太愿意听教师讲解;还会衡量一节课的教学容量。
所以将查询表单设计成有实际意义的上学期期末考试成绩统计表xuesheng,激发学生主动学习的兴趣,在讲解内部连接的基础上让学生探究外部连接的特点。
[教学内容]:本节课教材采用广州市教研室编写的《广州市信息技术教育课程〈网络·数据库〉》,具体为教材第六章第二节——多表查询,是《普通高中技术课程标准》选修内容之一。
该节内容包含内部连接、左外部连接、右外部连接和完全外部连接四种连接方式的介绍,包括它们的语法格式、功能特点、应用及上机操作,用时2课时,本教学设计以第一课时为例讲解内部连接,学生自主探讨左外部连接;第二课时让学生在第一课时的基础上自主探讨右外部连接和完全外部连接,是在讲完单表的基本查询之后,提出的多表查询内容。
教学重点:掌握内部连接、左外部连接两种多表查询方式的语法格式及应用上的区别。
教学难点:理解在不建新表的情况下,两表如何连接成一个新表;如何利用不同的查询方式去解决实际问题。
[教学目标]:1.认知领域:① 理解多表查询是属于前面学过的FROM 子句,是SELECT查询语句的一种基本结构;② 掌握多表查询中内、外部连接的语法功能和作用;③ 对比分析多表查询中内部连接与左外部连接的区别与联系,以及它对查询结果的影响;④ 学会应用各种连接的特点来解决实际问题。
2.操作领域:熟悉内部连接、外部连接的各种上机操作、结果的验证,进一步熟悉SELECT查询语句上机注意事项。
3.情感领域:由于多表查询是对前面SELECT¼¼FROM 语句中FROM 子句的扩充,是数据库查询优势的明显体现之一,让学生增强对SQL 学习的兴趣;数据库和表单全改为学生自己的期末考试成绩,平时少看到这些,现在可以随心所欲的查询,以增查询的欲望,增强学习兴趣;同时,学生自己在教师讲解内部连接INNER JOIN的基础上寻找左外部连接的特点、区别,使学生获得一定程度上的成就感,及培养积极探索、实事求是的科学态度,间接获取学习方法的体验。
实验四 单表、连接查询

实验四单表、连接查询实验一、实验目的使学生熟练掌握单表查询、连接查询、数据排序,加深对SQL语言的查询语句的理解。
二、实验内容该实验包括1)单表查询操作包括投影、选择、排序等。
2)连接查询操作包括等值连接、自然连接、一般连接、外连接、内连接、左连接、右连接和自连接等。
三、实验方法1.将查询需求用SQL语言表示。
2.在SQL Server Management Studio的SQL语句输入区中输入SQL查询语句。
3.发布执行命令,查看查询结果;如果结果不正确,进行修改,直到正确为止。
四、实验步骤(1) 单表查询实验用SQL语句实现学生选课库中的下列查询:①查询全体学生的学号和姓名。
②求数学系学生的学号和姓名。
③求选修了课程的学生学号。
④求选修1号课程的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。
⑤求选修1号课程且成绩在80~90分之间的学生学号和成绩,并将成绩乘以系数0.8输出。
⑥求数学系或计算机系姓张的学生的信息。
⑦求1号课程成绩排名前三位的学生的学号。
(2) 连接查询实验用SQL语句实现学生选课库中的下列查询:①查询每个学生的情况以及他(她)所选修的课程。
②求学生的学号、姓名、选修的课程名及成绩。
③求选修1号课程且成绩为90分以上的学生学号、姓名及成绩。
④查询每一门课的间接先行课(即先行课的先行课)。
五、实验报告要求1.用SQL语言写出实验操作的查询语句。
2.实验步骤和实验结果。
3.实验中的问题。
六、注意事项1.注意选择数据库2.查询结果的几种处理方式。
3.内连接、左外部连接和右外部连接的含义及表达方法。
4.输入SQL语句时应注意,语句中均使用西文操作符号。
5.注意测试数据要全面(既有满足条件的,也有不满足条件的)。
七、思考题1.在连接查询中没有连接条件,结果会怎样?。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、要求学生掌握带关系运算符的查询
2、要求学生掌握带IN、BETWEEN AND关键字的查询
3、要求学生能查询出为空值(不为空值)的数据
二、进入重点知识点的讲解
(1)如何使用关系运算符对数据进行过滤?
教师首先举一个例子,如果我想查询名字为“张三”学生、成绩大于60的学生等,应该如何实现呢?在查询语句中也可以使用运算符。然后教师通过一张表格列出MySQL中的关系运算符(可参见教材表4-1)。最后通过操作几个例子演示如何使用关系运算符对数据进行过滤.(可参见教材例4-4~例4-6)。
(1)对课堂上讲解的知识点进行总结,使用博学谷系统中的随堂练习题巩固本节课的知识点。
(2)使用博学谷系统中的测试题给学生布置作业。
第二课时
(按条件查询)
一、回顾上节课内容,继续讲解按条件查询
(1)对上节课留的作业进行答疑。
(2)回顾总结上节课的内容,引出本节课主题
上节课讲解了如何查询出表中数据,数据库中包含大量的数据,很多时候需要根据需求获取指定的数据,或者对查询的数据重新进行排列组合,这时就要在SELECT语句中指定查询条件对查询结果进行过滤,本节将针对SELECT语句中使用的查询条件进行详细地讲解。
针对某字段默认排序,默认为升序
使用参数ASC按照某字段升序方式排列
使用参数DESC按照某字段降序方式排列
按照某字段的升序和另一字段字段的降序进行排列
(3)如何进行分组查询?
教师首先举一个例子,如果要计算一个班级的男女各多少人,就要先将班级按照男、女分组。MySQL中可以使用GROUP BY按某个字段或者多个字段中的值进行分组。然后教师演示如何用GROUP BY将学生表按照性别分组(可参见教材例4-31)。之分组没有统计的意义并不大,在开发过程中GROUP BY常与聚合函数配合使用。教师通过一个案例演示如何进行分组统计数据(可参见教材例4-32)。
教学
难点
1、按条件查询
2、聚合函数
3、对查询结果排序
4、分组查询
教学
方式
讲师课堂教学要以PPT讲授为主,并结合多媒体进行教学
教
学
过
程
第一课时
(简单查询)
一、创设情境,导入数据库概念
(1)老师提出需求,引出简单查询
通过前面章节的学习,我们知道如何对数据进行添加、修改、删除等操作,在数据库中还有一个更重要的操作就是查询数据,查询数据是指从数据库中获取所需要的数据,用户可以根据自己对数据的需求来查询不同的数据。本课时先介绍简单查询。
(1)对课堂上讲解的知识点进行总结,使用博学谷系统中的随堂练习题巩固本节课的知识点。
(2)使用博学谷系统中的测试题给学生布置作业。
第四课时
(高级查询)
一、回顾上节课内容
(1)对上节课留的作业进行答疑。
(2)进入本节课主题,高级查询
实际开发中,经常需要对某些数据进行统计,例如统计某个字段的最大值、最小值、平均值等等。为此,MySQL提供了分组查询规则和聚合函数,本节课将详细讲解如何使用分组和聚合函数对数据进行统计。
(2)如何使用IN关键字对数据进行过滤?
教师首先提问,如果想查询一班的学生,只要在查询语句的WHERE子句用“=”就能实现,如果,想查询一班和二班的学生如何实现?IN关键字用于判断某个字段的值是否在指定集合中,如果字段的值在集合中,该字段所在的记录将被查询出来。然后通过操作两个例子分别演示如何查找在指定集合中的数据和不在指定集合中的数据(可参见教材例4-7和例4-8)。
COUNT():返回某列的行数,常用于求表中有多少条记录
SUM():返回某列值的和,常用于计算总和
AVG():返回某列的平均值
MAX():返回某列的最大值
MIN():返回某列的最小值
(2)如何对查询结果排序?
教师首先举例子,考试结束后下发成绩,一般都会按照成绩来排序。实际开发中,需要排序的地方很多,比如要求按日期排序、按分数排序、按金额排序等等。为了使查询结果满足用户的要求,可以使用ORDER BY对查询结果进行排序。然后,通过四个案例来讲解不同的排序情况(参照教材例4-27~4-30)。
(3)如何使用BETWEEN AND关键字对数据进行过滤?
教师首先举个例子,如果想要查询2014年登陆的用户,我们没有办法列出准确的集合,这时,只能使用范围来查询。BETWEEN AND用于判断某个字段的值是否在指定的范围之内,NOT BETWEEN AND用于判断某个字段不在指定的范围之内的值。然后,通过两个例子的查询操作演示如何使用BETWEEN AND关键字(可参见教材例4-9和例4-10)。
(5)OR和AND关键字一起使用时,谁的优先级高?
OR和AND关键字也可以一起使用。教师首先讲解,AND的优先级高于OR,因此当两者在一起使用时,应该先运算AND两边的条件表达式,再运算OR两边的条件表达式。然后,通过一个案例演示OR和AND关键字一起使用时,查询的结果(可参见教材例4-26)。
三、归纳总结,布置作业
教师首先提出,通常情况下,我们实际一次只会用到一个表的部分字段。查询数据时,可以在SELECT语句的字段列表中指定要查询的字段。教师然后列出查询指定字段时SELECT语句的语法格式并简单讲解,最后通过一个具体的案例演示只查询表中2到3个字段的情况(可参见教材例4-3)。
三、归纳总结,随堂练习,布置作业
(2)明确学习目标
1、要求学生掌握SELECT语句的基本语法格式
2、要求学生掌握如何查询所有字段和指定字段
二、进行重点知识的讲解
(1)SELECT语句的基本语法格式
教师首先列出SELECT语句的语法格式:
SELECT[DISTINCT] *|{字段名1,字段名2,字段名3,……}
FROM表名
[WHERE条件表达式1]
最后,还有介绍一个关键字HAVING,它和WHERE关键字都用于设置条件表达式对查询结果进行过滤,区别在于,HAVING关键字后可以跟聚合函数和GROUP BY一起使用(可参见教材例4-33)。
(4)如何使用LIMIT限制查询结果的数量?
教师首先举个例子,大家在上网查找资料时,一般一个页面只会显示10-20条,通过翻页来查看更多的资源。分页的功能就可以用LIMIT来实现,它可以指定查询结果从哪一条记录开始以及一共查询多少条信息。
要求学生学会使用DISTINCT、 LIKE、AND和OR关键字对查询结果进行过滤。
二、进入重点知识点的讲解
(1)如何使用DISTINCT关键字?
教师首先演示查询学生表的性别字段,查询的结果应该是多条“男”和多条“女”。当要求对数据进行分析时,需要过滤掉重复的数据。在SELECT语句中,可以使用DISTINCT关键字来实现过滤查询结果中重复数据的功能。然后,使用DISTINCT关键字重新对学生表的性别进行查询(可参见教材例4-13)。最后,还需要讲解的是,DISTINCT关键字可以作用于多个字段,并演示DISTINCT关键字可以作用于多个字段的情况(可参见教材例4-14)。
(4)如何使用OR关键字?
OR关键字也可以连接多个查询条件,所以OR关键字可以采用与AND关键字对比的方式进行讲解。与AND关键字不同,在使用OR关键字时,只要记录满足任意一个条件就会被查询出来。教师通过两个案例,让学生直观的感受OR关键字与AND关键字查询出结果的不同(可参见教材例4-24和例4-25)。
[GROUP BY字段名[HAVING条件表达式2]]
[ORDER BY字段名[ASC|DESC]]
[LIMIT [OFFSET]记录数]
然后,教师再对照上述语法格式一一介绍每个子句,由于上述语法较为复杂,在案例演示前很难完全理解,在此只要求学生有总体的印象即可,之后的几节课会分别详细地讲解。
(2)如何查询所有字段?
在讲解ቤተ መጻሕፍቲ ባይዱ询操作前,需要一些准备工作。首先创建一个数据库,再在据
库中创建一张表,并添加数据(可参见教材例4-1)。查询所有字段的方法有两种,列出所有字段和使用通配符*。教师演示完成这两种方法后(可参见教材例4-1和例4-2),还需要让学生思考两种方法在不同条件下使用的优缺点,最后教师总结。
(3)如何查询指定字段?
(4)如何查询出某字段为空的数据?
教师首先讲解,在数据表中,某些列的值可能为空值(NULL),空值不同于0,也不同于空字符串。使用IS NULL关键字来判断字段的值是否为空值。然后通过两个案例演示如何查询出某字段为空/不空的数据(可参见教材例4-11和例4-12)。
三、归纳总结,布置作业
(1)对课堂上讲解的知识点进行总结,使用博学谷系统中的随堂练习题巩固本节课的知识点。
(3)明确学习目标
1、使学生掌握分组查询及聚合函数的使用
2、要求学生能够对查询结果进行排序
3、使学生掌握使用LIMIT限制查询结果的数量
二、进入重点知识点的讲解
(1)如何使用聚合函数对数据进行统计?
教师首先举个例子,在期末考试后,要统计班级的总分、平均分、最高分等。MySQL中用聚合函数可以对数据进行统计。然后教师列出所有的聚合函数,并对每个函数进行详细讲解
然后,通过两个案例分别查询表中前4条数据和4到8条数据(可参见教材例4-34和4-35)。
三、归纳总结,布置作业
(1)对课堂上讲解的知识点进行总结,使用博学谷系统中的随堂练习题巩固本节课的知识点。
(2)使用博学谷系统中的测试题给学生布置作业。
第五课时
(常用函数的使用、为表和字段取别名)
一、回顾上节课内容
百分号(%)通配符:可参见教材例4-15~例4-18
下划线(_)通配符:可参见教材例4-19和例4-20
最后,还需要讲解如何匹配带有“%”和“_”的字符串。
(3)如何使用AND关键字?
到目前已经讲解了很多关键字的使用,让学生思考一下,这些关键字能否组合使用,更加精确查询结果?MySQL中,使用AND关键字可以连接两个或者多个查询条件。然后通过两个例子,演示AND关键字的使用方法(可参见教材例4-22和4-23)。