7结构化查询语言.ppt
《7结构化查询语言.ppt》由会员分享,可在线阅读,更多相关《7结构化查询语言.ppt(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1Visual FoxPro 程序设计结构化查询语言SQL2教学目标了解SQL语言的四大功能了解SQL语言的主要特点掌握SQL的数据查询实现方法掌握SQL的数据更新功能学会使用查询设计器设计查询3重点及难点SQL的数据查询实现方法 (难点)SQL的数据更新功能学会使用查询设计器设计查询4 SQL SQL是一种非过程化的一体化语言,包括是一种非过程化的一体化语言,包括=数据定义数据定义创建、修改、删除数据库对象创建、修改、删除数据库对象=数据查询数据查询查询表中数据查询表中数据=数据操纵数据操纵向表中插入、修改、删除数据向表中插入、修改、删除数据=数据控制数据控制控制用户访问数据库的权限控制用户
2、访问数据库的权限 四大功能,可以完成数据库活动中的全部工作。四大功能,可以完成数据库活动中的全部工作。SQLSQL语言的核心是语言的核心是数据查询数据查询。要点要点1 1:数据查询:数据查询 要点要点2 2:查询设计器的使用:查询设计器的使用 要点要点3 3:SQLSQL的其它功能的其它功能概述概述5SQL语言的主要特点:语言的主要特点:1、SQL是非过程化语言。是非过程化语言。只需要提出只需要提出“做什么做什么”不必考虑不必考虑“怎么做怎么做”。2、通用语言、通用语言 关系数据库的标准语言。关系数据库的标准语言。3、简洁易用、简洁易用4、操作面向集合、操作面向集合 无论查询的对象还是查询的结
3、果都是表(若干记录无论查询的对象还是查询的结果都是表(若干记录的集合),概念单一。的集合),概念单一。5、两种使用方式、两种使用方式 交互式和嵌入式。交互式和嵌入式。6查询功能查询功能SQL查询又称为查询又称为SELECT命令,基本形式为:命令,基本形式为:SELECT FROM WHERE 选择选择 自自 满足满足 SQL查询按以下顺序讲述:查询按以下顺序讲述:1、简单查询(单表投影)、简单查询(单表投影)2、简单的条件查询、简单的条件查询 3、计算查询、计算查询 4、分组查询、分组查询 5、连接查询、连接查询 6、嵌套查询、嵌套查询 7、查询结果的输出、查询结果的输出71、简单查询(单表投
4、影)、简单查询(单表投影)1)基本格式:)基本格式:SELECT FROM 选择选择 自自 例:查询学生基本情况:例:查询学生基本情况:SELE 学号,姓名,入校总分,性别学号,姓名,入校总分,性别 FROM 学生学生特别地:特别地:SELE*FROM 教师教师 查询教师信息,输出所有字段,无投影。查询教师信息,输出所有字段,无投影。82)输出结果的排序)输出结果的排序ORDER BY 子句子句基本格式:基本格式:SELECTFROM ORDER BY 选择选择 自自 排序依据排序依据 例:查询学生基本情况,按入校总分升序排列:例:查询学生基本情况,按入校总分升序排列:SELE 学号,姓名,入
5、校总分,性别学号,姓名,入校总分,性别 ;FROM 学生学生 ORDER BY 入校总分入校总分 3)指定输出列标题)指定输出列标题AS 子句子句 SELECT AS ,AS ,FROM 例:例:SELE 学号学号 AS 学生号,姓名,入校总分学生号,姓名,入校总分 AS 成绩成绩94)取消重复记录)取消重复记录DISTINCT 子句子句基本格式:基本格式:SELECT DISTINCT FROM 选择选择 唯一值唯一值 自自 例:查询选修了课程的学生情况:例:查询选修了课程的学生情况:SELE DISTINCT 学号学号 FROM 选课选课 SELECT DISTINCT 系别系别 FROM
6、 学生学生10小结与练习小结与练习1简单查询简单查询SELECT语句的使用:语句的使用:1、SELECT命令可以不打开表。命令可以不打开表。2、首先确定字段;、首先确定字段;SELE 字段表字段表 AS 标题标题3、确定源表;、确定源表;FROM 4、有无排序、去重复记录要求、有无排序、去重复记录要求:DIST ORDER BY 练习练习 1、检索课程情况;、检索课程情况;2、查询上课的教师的教师号;、查询上课的教师的教师号;3、检索学生的学号,姓名,性别,年龄,、检索学生的学号,姓名,性别,年龄,按年龄排序。按年龄排序。112、条件查询(单表选择)、条件查询(单表选择)WHERE子句子句基本
7、格式:基本格式:SELECT FROM WHERE 选择选择 自自 满足条件的记录满足条件的记录条件的构成可以是:条件的构成可以是:单条件关系表达式单条件关系表达式 复合条件逻辑表达式(复合条件逻辑表达式(关系表达式关系表达式AND、OR、NOT)范围谓词范围谓词IN、BETWEENAND 匹配谓词匹配谓词LIKE121)单条件)单条件 关系表达式关系表达式例:查询女学生基本情况:例:查询女学生基本情况:SELE 学号,姓名,入校总分,性别学号,姓名,入校总分,性别 FROM 学生学生;WHERE 性别性别女女例:查询入校总分高于例:查询入校总分高于85分的学生情况:分的学生情况:SELE *
8、FROM 学生学生 WHERE 入校总分入校总分=852)复合条件)复合条件 逻辑表达式逻辑表达式例:查询入校总分高于例:查询入校总分高于85分的女学生基本情况:分的女学生基本情况:SELE 学号,姓名,入校总分,性别学号,姓名,入校总分,性别 FROM 学生学生;WHERE 性别性别女女 AND 入校总分入校总分=85133)范围谓词)范围谓词 IN、BETWEENAND(1)IN 与与 NOT IN IN(值(值1,值,值2,):落在该集合内的记录;落在该集合内的记录;NOT IN(值(值1,值,值2,):不在该集合内的记录;不在该集合内的记录;例:查询选修了例:查询选修了C120、C14
9、0的学生成绩:的学生成绩:SELE 学号,课程号,成绩学号,课程号,成绩 FROM 选课选课;WHERE 课程号课程号 IN(C120,C140)例:查询未选修例:查询未选修C110和和C130的学生成绩:的学生成绩:SELE 学号,课程号,成绩学号,课程号,成绩 FROM 选课选课;WHERE 课程号课程号 NOT IN(C110,C130)14(2)BETWEENAND 字段字段 BETWEEN 值值1 AND 值值2 值在值值在值1、值、值2之间的记录;之间的记录;等价于:等价于:字段字段=值值1 AND 字段字段=值值2 例:查询入校总分在例:查询入校总分在550570之间的学生情况:
10、之间的学生情况:SELE *FROM 学生学生;WHERE 入校总分入校总分 BETWEEN 550 AND 570154)匹配谓词)匹配谓词 LIKE 字符字段字符字段 LIKE 字符串常量字符串常量常量中可用通配符常量中可用通配符:%:任意长度字符串,类似文件名中的任意长度字符串,类似文件名中的 *_:任意一个字符(任意一个字符(VFP6.0中)中)例:查询姓为例:查询姓为张张的学生情况:的学生情况:SELE *FROM 学生学生 WHERE 姓名姓名 LIKE 张张例:查询学号前例:查询学号前7位为位为s020110的学生情况:的学生情况:SELE *FROM 学生学生 WHERE 学号
11、学号 LIKE s020110_例:查询姓名第三字为例:查询姓名第三字为光光的学生情况:的学生情况:SELE *FROM 学生学生 WHERE 姓名姓名 LIKE _ _光光16小结与练习小结与练习2条件查询条件查询条件查询的使用:条件查询的使用:1、首先确定字段、源表:、首先确定字段、源表:SELE 字段表字段表 FROM 2、确定有几个条件,条件间的逻辑关系(、确定有几个条件,条件间的逻辑关系(AND OR!)3、每个条件应选择哪种方式表达:、每个条件应选择哪种方式表达:关系?(关系?(、=、=、等)、等)范围?(某字段范围?(某字段 IN、某字段某字段 BETWEEN 值值1 AND 值
12、值2)匹配?(字符字段匹配?(字符字段 LIKE 某字符串常量形式)某字符串常量形式)练习练习:1、查询、查询CS系的学生情况;系的学生情况;2、检索年龄在、检索年龄在18至至20之间的学生情况;之间的学生情况;3、检索姓、检索姓孙孙的教师情况。的教师情况。173、计算查询(单表统计)、计算查询(单表统计)统计函数统计函数 格式格式 SELECT FROM WHERE 统计函数有:统计函数有:SUM()求和求和 AVG()求平均求平均 MAX()最大值最大值 MIN()最小值最小值 COUNT()统计记录条数统计记录条数18例:查询例:查询 选修选修c110的最高、最低、平均、的最高、最低、平
13、均、分数差:分数差:SELECT 课程号课程号,MAX(成绩成绩)AS 最高分最高分,MIN(成绩成绩)AS 最低分最低分,;AVG(成绩成绩)AS 平均平均,MAX(成绩成绩)-MIN(成绩成绩)AS 分数差分数差 ;FROM 选课选课;WHERE 课程号课程号=c110注意注意SELECT 语句的书写格式。语句的书写格式。19例:统计选修课的门数。例:统计选修课的门数。SELECT COUNT(DIST 课程号课程号)AS 选修课门数选修课门数 ;FROM 选课选课例:统计教授、副教授的人数。例:统计教授、副教授的人数。SELECT COUNT(*)AS 高职人数高职人数 ;FROM 教师
14、教师 WHERE 职称职称 IN(教授教授,副教授副教授)20小结与练习小结与练习3计算查询计算查询计算查询的使用:计算查询的使用:1、首先确定参与运算的字段、进行运算的函数,输出列、首先确定参与运算的字段、进行运算的函数,输出列标题,以及源表;标题,以及源表;SELE 函数列函数列 AS 列标题,列标题,FROM 2、确定条件、确定条件 WHERE 子句子句3、按标准的格式书写、按标准的格式书写SELECT语句,除非很短。语句,除非很短。SELECT 、FROM、WHERE 各一行,用分号分隔。各一行,用分号分隔。练习练习:1、查询男同学的入校总分的最高、最低、平均;、查询男同学的入校总分的
15、最高、最低、平均;2、统计上课教师人数;、统计上课教师人数;3、统计姓、统计姓王王的学生人数。的学生人数。214、分组查询、分组查询GROUP BY 与与HAVING子句子句 GROUP BY对属性列进行分组,相同值为一组对属性列进行分组,相同值为一组;HAVING对组内记录进行筛选;对组内记录进行筛选;例:统计每位教师的授课门数。例:统计每位教师的授课门数。SELE 教师号,教师号,COUNT(*)AS 任课门数任课门数 ;FROM 授课授课;GROUP BY 教师号教师号 例:查询选课两门以上的学生人数及选课数。例:查询选课两门以上的学生人数及选课数。SELE 学号学号 AS 选两门以上选
16、两门以上,COUNT(*)AS 门数门数 ;FROM 选课选课 ;GROUP BY 学号学号;HAVING COUNT(*)=2 22当既有当既有WHERE,又有,又有GROUP BY与与HAVING 时,执时,执行顺序是:行顺序是:WHERE,GROUP BY,HAVING。WHERE 作用对象:对基本表或视图中记录进行筛选;作用对象:对基本表或视图中记录进行筛选;HAVING作用对象:作用对象:GROUP BY 子句指定的分组,在子句指定的分组,在分组中筛选;分组中筛选;例:查询例:查询C120、C140、C150、C160中中选课成绩选课成绩85分以上的课程号、平均分。分以上的课程号、平
17、均分。SELE 课程号课程号,AVG(成绩成绩)AS 平均分平均分;FROM 选课选课 ;WHERE 课程号课程号 IN(c120,c140,c150,c160);GROUP BY 课程号课程号;HAVING AVG(成绩成绩)=8523单表查询综合例子单表查询综合例子例:查询选课三门以上,各门课均及格的学号及平均例:查询选课三门以上,各门课均及格的学号及平均成绩,结果按学号降序排列。成绩,结果按学号降序排列。该语句的执行顺序如下:该语句的执行顺序如下:该语句的执行顺序如下:该语句的执行顺序如下:1 1、FROM:FROM:取出整个选课表取出整个选课表取出整个选课表取出整个选课表SELE 学号
18、学号,AVG(成绩成绩)AS 平均分平均分;FROM 选课选课 ;WHERE 成绩成绩=60;GROUP BY 学号学号;HAVING COUNT(*)=3;ORDER BY 学号学号 DESC 2 2、WHERE:WHERE:筛选选课表筛选选课表筛选选课表筛选选课表 3 3、GROUP BY:GROUP BY:记录分组记录分组记录分组记录分组 4 4、HAVING:HAVING:筛选分组筛选分组筛选分组筛选分组 6 6、ORDER BY:ORDER BY:排序排序排序排序 5 5、SELE:SELE:提取记录提取记录提取记录提取记录24小结与练习小结与练习4分组查询分组查询分组查询的使用:分
19、组查询的使用:1、确定基表、输出字段及标题,是否排序;、确定基表、输出字段及标题,是否排序;SELE 列列 AS 列标题,列标题,FROM ORDER BY 2、确定对基表的筛选条件、确定对基表的筛选条件 WHERE 子句子句3、是否有分组,分组是否有筛选条件、是否有分组,分组是否有筛选条件 GROUP BY与与HAVING子句子句练习练习:1、查询学生选课数,结果按学号排列;、查询学生选课数,结果按学号排列;2、查询上课两门及以上的教师的教师号及上课门数;、查询上课两门及以上的教师的教师号及上课门数;3、查询至少有两名学生选修的课程的课程号、选课人、查询至少有两名学生选修的课程的课程号、选课
20、人数及最高分、最低分、平均成绩。数及最高分、最低分、平均成绩。255、连接查询、连接查询 如同关联一样,可以在如同关联一样,可以在SELECT查询中通过联接查询中通过联接关键字建立联接条件,由此查询多表中相关数据。关键字建立联接条件,由此查询多表中相关数据。连接查询的方法有两种:连接查询的方法有两种:1、通过、通过WHERE 子句建立联接;子句建立联接;2、通过联接关键字、通过联接关键字JOIN建立联接。建立联接。1、通过、通过WHERE子句建立联接子句建立联接例:例:查询陈静老师授课的课程号。查询陈静老师授课的课程号。SELE 教师教师.教师号教师号,姓名姓名,课程号课程号 FROM 教师教
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 结构 查询 语言
限制150内