第3章结构化查询语言lgyppt课件_第1页
第3章结构化查询语言lgyppt课件_第2页
第3章结构化查询语言lgyppt课件_第3页
第3章结构化查询语言lgyppt课件_第4页
第3章结构化查询语言lgyppt课件_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第3 3章章 构造化查询言语构造化查询言语2022-5-1http:/教育信息技术中心 李桂英第3章 构造化查询言语SQL概述概述1SQL的数据定义功能的数据定义功能2SQL的数据查询功能的数据查询功能4SQL的数据操作功能的数据操作功能3SQL的数据控制功能的数据控制功能5视图及其操作视图及其操作62022-5-1http:/教育信息技术中心 李桂英3.1 SQL3.1 SQL概述概述1、什么是SQL言语? SQL是一种关系数据库言语,具有查询、删除、定义和控制的一体化功能。 Access 2019、SQL Server、Oracle都采用SQL规范。2、SQL言语的组成部分。数据定义:D

2、DL Data Definition Language),用于创建/修正表、视图和索引。 CREATE、ALTER、DROP数据操作:DML Data Manipulation Language,用于对表记录进展操作。INSERT、UPDATE、DELETE数据查询:DQL Query Language,用于对数据库中的数据实施查询。 SELECT数据控制:DCL Data Control Language,用于对网络数据库用户实施管理。 GRANT、REVOKE2022-5-1http:/教育信息技术中心 李桂英3.1 SQL3.1 SQL概述概述SQL语句的输入定义、运转及修正方法定义查询

3、翻开数据库,选择“查询对象,双击“在设计视图中创建查询,封锁“显示表对话框,右击,选择 “SQL特定查询数据定义项,便会调出一个SQL语句编辑器。在其输入了SQL语句后,单击运转按钮 。必要时可保管为查询。运转查询 在查询对象列表中双击要运转的查询名。修正查询 在查询对象列表中选中要运转的查询名,单击“设计按钮。2022-5-1http:/教育信息技术中心 李桂英3.1 SQL3.1 SQL概述概述2022-5-1http:/教育信息技术中心 李桂英3.1 SQL3.1 SQL概述概述2022-5-1http:/教育信息技术中心 李桂英3.2 3.2 数据定义功能数据定义功能SQL的数据定义功

4、能是指定义数据库的构造,包括定义根本表、定义视图和定义索引3个部分。操作对象操作方式创建删除修改表CREATE TABLEDROP TABLEALTER TABLE视图CREATE VIEWDROP VIEW删除再重建索引CREATE INDEXDROP INDEX删除再重建2022-5-1http:/教育信息技术中心 李桂英3.2 3.2 数据定义功能数据定义功能1、创建表:列级完好性约束条件有NULL空、UNIQUE取值独一,如NOT NULL UNIQUE表示取值独一,不能取空值。表级完好性约束条件有PRIMARY KEY定义主码。CREATE TABLE 表名(字段描画信息 ,表完好性

5、商定 )Create table 学生(学号 char(6),姓名 char(6), 出生年月 Date, 班级编号 char(8),primary key (学号)学号姓名出生年月班级编号表名:学生CREATE TABLE 表名表名 列名列名1列级完好性约束条件列级完好性约束条件 ,列名列名2列级完好性约束条列级完好性约束条件件 ,列名列名3列级完好性约束条列级完好性约束条件件 表级完好性约束条件表级完好性约束条件2022-5-1http:/教育信息技术中心 李桂英2、修正表添加字段 ALTER TABLE 表名 ADD 字段名 字段类型(宽度)例:Alter table 学生 add 性别

6、 char(2)修正字段 ALTER TABLE 表名 ALTER 字段名 字段类型(宽度) 例: Alter table 学生 alter 班级编号 char(10)删除字段 ALTER TABLE 表名 DROP 字段名 学号姓名出生年月班级编号性别3.2 3.2 数据定义功能数据定义功能2022-5-1http:/教育信息技术中心 李桂英3 3、删除表:、删除表: Drop table Drop table 表名表名例:例:Drop table Drop table 学生学生4 4、建立索引、建立索引例:例:Create index Create index 姓名姓名 on on 学生学

7、生( (姓名姓名) ) 3.2 3.2 数据定义功能数据定义功能2022-5-1http:/教育信息技术中心 李桂英3.3 SQL3.3 SQL的数据操作功能的数据操作功能1、修正表记录 UPDATE SET =,=WHERE 对于满足条件的元组给以更新。假设不写条件,那么对一切元组进展更新。如:给一切成果小于等于60分的同窗加5分 Update 成果表 set 成果=成果+5 where 成果=902022-5-1http:/教育信息技术中心 李桂英2、添加记录 INSERT INTO 表名(字段名表) VALUES(字段值表)如:Insert into 成果表(学号,课程编号,成果) va

8、lues(“040301,01-03,68)3.3 SQL3.3 SQL的数据操作功能的数据操作功能2022-5-1http:/教育信息技术中心 李桂英3.3 SQL3.3 SQL的数据操作功能的数据操作功能3、删除记录 DELETE FROM WHERE 如:删除学号为20190109的学生 Delete from 学生表 where 学号=“201901092022-5-1http:/教育信息技术中心 李桂英3.4 SQL3.4 SQL的数据查询功能的数据查询功能v从指定的表或视图中找出符合条件的数据,结果构成一个新表。SELECT语句既可以完成简单的单表查询,也可以完成复杂的衔接查询和嵌

9、套查询。v SELECT 输出项 FROM 数据源 v WHERE 条件v ORDER BY 排序根据 ASC/DESCv GROUP BY 分组根据SELECT 限定词限定词 字段名列表字段名列表 FROM 数据表列表数据表列表IN外部数据库外部数据库 WHERE条件条件 GROUP BY字段名字段名HAVING条件条件ORDER BY字段名字段名ASCDESCWITH OWNERACCESS OPTION2022-5-1http:/教育信息技术中心 李桂英v字段名列表:要查询的属性,普通是字段名或表达字段名列表:要查询的属性,普通是字段名或表达式。式。vFROMFROM:数据来源,即从哪些

10、表或视图中查询。:数据来源,即从哪些表或视图中查询。vWHEREWHERE:查询条件,即选择满足条件的元组。:查询条件,即选择满足条件的元组。vGROUP BYGROUP BY:对查询结果进展分组。:对查询结果进展分组。vHAVINGHAVING:限定分组的条件。:限定分组的条件。vORDER BYORDER BY:对查询结果排序。:对查询结果排序。ASCASC:表示升序:表示升序|DESC|DESC:表示降序:表示降序 。3.4 SQL3.4 SQL的数据查询功能的数据查询功能2022-5-1http:/教育信息技术中心 李桂英3.4 .1 3.4 .1 简单查询简单查询学号姓名性别年龄所在

11、系课程号课程名学分学号课程号成绩课程表:成果表:学生表:2022-5-1http:/教育信息技术中心 李桂英3.4 .1 3.4 .1 简单查询简单查询1 1、查询全体学生情况、查询全体学生情况Select Select * * from from 学生表学生表2022-5-1http:/教育信息技术中心 李桂英3.4 .1 3.4 .1 简单查询简单查询2 2、查询全体学生的姓名和所在系、查询全体学生的姓名和所在系 Select Select 姓名姓名, ,所在系所在系 from from 学生表学生表2022-5-1http:/教育信息技术中心 李桂英3.4 .1 3.4 .1 简单查询简

12、单查询3 3、查询选修了课程的学生学号。、查询选修了课程的学生学号。Select Select 学号学号 from from 成果表成果表 Select distinct Select distinct 学号学号 from from 成果表成果表指定指定DISTINCTDISTINCT短语,表示要取消指定列中的反复值。短语,表示要取消指定列中的反复值。2022-5-1http:/教育信息技术中心 李桂英3.4 .1 3.4 .1 简单查询简单查询4 4、查询全体学生姓名、出生年月,结果按出生年月的升序、查询全体学生姓名、出生年月,结果按出生年月的升序或降序陈列。或降序陈列。Select Sel

13、ect 姓名姓名, ,出生年月出生年月 from from 学生表学生表 order by order by 出生年月出生年月Select Select 姓名姓名, ,出生年月出生年月 from from 学生表学生表 order by order by 出生年月出生年月 DESCDESC2022-5-1http:/教育信息技术中心 李桂英vWHEREWHERE子句的条件表达式可以运用以下运算符:子句的条件表达式可以运用以下运算符:v算术比较运算符:算术比较运算符:= =、 、=、BETWEENANDBETWEENANDv逻辑运算符:逻辑运算符:ANDAND、OROR、NOTNOT。v集合元素

14、包含运算符:集合元素包含运算符:ININ、NOT INNOT IN。v字符匹配:字符匹配:LIKELIKE、NOT LIKENOT LIKE。v集合运算符:集合运算符:UNIONUNION、MINUSMINUS、INTERSECTINTERSECT。v存在量词:存在量词:EXISTSEXISTS、NOT EXISTSNOT EXISTS。3.4 .1 3.4 .1 简单查询简单查询2022-5-1http:/教育信息技术中心 李桂英3.4 .1 3.4 .1 简单查询简单查询5 5、查询数学系的学生情况、查询数学系的学生情况Select Select * * from from 学生表学生表

15、where where 所在系所在系=“=“数学数学2022-5-1http:/教育信息技术中心 李桂英3.4 .1 3.4 .1 简单查询简单查询6 6、查询信息系、数学系的学生学号、姓名、性别、所在系、查询信息系、数学系的学生学号、姓名、性别、所在系SELECT SELECT 学号学号, , 姓名姓名, , 性别性别, ,所在系所在系FROM FROM 学生表学生表WHERE WHERE 所在系所在系=数学数学 or or 所在系所在系=信息信息 Select Select 学号学号, ,姓名姓名, ,性别性别 , ,所在系所在系 from from 学生表学生表Where Where 所

16、在系所在系 in (“ in (“数学数学, ,信息信息) )包含运算符:包含运算符:ININ、NOT INNOT IN2022-5-1http:/教育信息技术中心 李桂英3.4 .1 3.4 .1 简单查询简单查询7 7、查询成果表中成果大于等于、查询成果表中成果大于等于7070小于等于小于等于8080的学生。的学生。SELECT SELECT * * FROM FROM 成果表成果表WHERE WHERE 成果成果 BETWEEN 70 AND 80 BETWEEN 70 AND 80SELECT SELECT * * FROM FROM 成果表成果表WHERE WHERE 成果成果 NO

17、T BETWEEN 70 AND 80 NOT BETWEEN 70 AND 802022-5-1http:/教育信息技术中心 李桂英3.4 .1 3.4 .1 简单查询简单查询8 8、查询一切姓李的学生学号,姓名、查询一切姓李的学生学号,姓名Select Select 学号学号, ,姓名姓名 from from 学生表学生表 Where Where 姓名姓名 like “ like “李李* *字符匹配:字符匹配:LIKELIKE、NOT LIKENOT LIKE通配符:通配符:* *恣意长度的字符恣意长度的字符( (课本中的课本中的%是错误的是错误的 ?恣意一个字符?恣意一个字符LIKEL

18、IKE不能用不能用“=“=替代替代Select Select 学号学号, ,姓名姓名 from from 学生表学生表 Where Where 姓名姓名 not like “ not like “李李* *2022-5-1http:/教育信息技术中心 李桂英3.4 .1 3.4 .1 简单查询简单查询9 9、查询一切学号第、查询一切学号第3 3、4 4位是位是0202的学生学号,姓的学生学号,姓名。名。SELECT SELECT 学号学号, , 姓名姓名FROM FROM 学生表学生表WHERE WHERE 学号学号 like ?02? like ?02?2022-5-1http:/教育信息技

19、术中心 李桂英3.4 .2 3.4 .2 衔接查询衔接查询衔接查询:查询的目的涉及到两个或几个表衔接查询:查询的目的涉及到两个或几个表1 1、查询一切选修了课程编号为、查询一切选修了课程编号为“01-0301-03的学生的学号、的学生的学号、姓名、成果。姓名、成果。SELECT SELECT 学生表学生表. .学号学号, , 姓名姓名, ,课程编号课程编号, , 成果成果 FROM FROM 成果表成果表, , 学生表学生表 WHERE WHERE 学生表学生表. .学号学号= =成果表成果表. .学号学号 and and 课程编号课程编号=01-=01-0303学号姓名性别年龄所在系学号课程

20、号成绩学生表:学生表:成果表:成果表:两个表都有的字段一定要指明是哪个表,否那么会出错。2022-5-1http:/教育信息技术中心 李桂英3.4 .2 3.4 .2 衔接查询衔接查询2 2、查询选修了课程号为、查询选修了课程号为“01-03“01-03且成果且成果7070分以上的学生分以上的学生的学号、姓名、成果的学号、姓名、成果Select Select 学生表学生表. .学号学号, ,姓名姓名, ,成果成果 From From 学生表学生表 , ,成果表成果表 Where Where 学生表学生表. .学号学号= =成果表成果表. .学号学号 and and 课程编号课程编号=“01-0

21、3=“01-03 and and 成果成果=70=702022-5-1http:/教育信息技术中心 李桂英3.4.3 3.4.3 嵌套查询嵌套查询v嵌套查询是指在SELECT-FROM-WHERE查询块内部再嵌入另一个查询块,称为子查询,并允许多层嵌套。由于ORDER子句是对最终查询结果的表示顺序提出要求,因此它不能出如今子查询中。v1带有IN谓词的子查询。v在嵌套查询中,子查询的结果往往是一个集合,所以谓词IN是嵌套查询中最常运用的谓词。2022-5-1http:/教育信息技术中心 李桂英3.4.3 3.4.3 嵌套查询嵌套查询例:查询选修了课程的学生学号,姓名,所在系例:查询选修了课程的学

22、生学号,姓名,所在系Select Select 学号学号, ,姓名姓名, ,所在系所在系 from from 学生表学生表Where Where 学号学号 in (select in (select 学号学号 from from 成果表成果表) )2022-5-1http:/教育信息技术中心 李桂英2 2带有比较运算符带有比较运算符的子查询。的子查询。谓词语义ANY大于子查询结果中的某个值ALL大于子查询结果中的所有值ANY小于子查询结果中的某个值=ANY大于等于子查询结果中的某个值=ALL大于等于子查询结果中的所有值=ANY小于等于子查询结果中的某个值=ALL小于等于子查询结果中的所有值AN

23、Y不等于子查询结果中的某个值ALL不等于子查询结果中的任何一个值=ANY等于子查询结果中的某个值=ALL等于子查询结果中的所有值3.4.3 3.4.3 嵌套查询嵌套查询2022-5-1http:/教育信息技术中心 李桂英例:查询成果表中成果最高的记录。例:查询成果表中成果最高的记录。SELECT SELECT 学号学号, , 成果成果FROM FROM 成果表成果表WHERE WHERE 成果成果 =all(select =all(select 成果成果 from from 成果表成果表) )3.4.3 3.4.3 嵌套查询嵌套查询2022-5-1http:/教育信息技术中心 李桂英表3-3

24、集函数的功能vSQLSQL提供的常用统计函数称为集函数,这些集函数使提供的常用统计函数称为集函数,这些集函数使检索功能进一步加强。检索功能进一步加强。集函数名集函数名功能功能COUNT(DISTINCT | ALL * )统计元组个数统计元组个数COUNT(DISTINCT | ALL)统计一列中值的个数统计一列中值的个数SUM(DISTINCT | ALL)计算一列中值的总和计算一列中值的总和AVG(DISTINCT | ALL)计算一列值的平均值计算一列值的平均值MAX(DISTINCT | ALL)求一列值的最大值求一列值的最大值MIN(DISTINCT | ALL)求一列值的最小值求一

25、列值的最小值3.4.4 3.4.4 运用集函数查询运用集函数查询2022-5-1http:/教育信息技术中心 李桂英3.4.4 3.4.4 运用集函数查询运用集函数查询例:求成果表中的记录个数。例:求成果表中的记录个数。Select count(Select count(* *) AS ) AS 记录个数记录个数 from from 成果表成果表Select count(Select count(学号学号) AS ) AS 记录个数记录个数 from from 成果表成果表ASAS关键字:对字段存在或不存在进展重新命名。关键字:对字段存在或不存在进展重新命名。1 1所涉及的表的字段名很长或者想

26、把英文字段名在结果所涉及的表的字段名很长或者想把英文字段名在结果集中显示为中文字段名。集中显示为中文字段名。2 2查询产生了某些计算字段、合并字段等原来不存在的查询产生了某些计算字段、合并字段等原来不存在的字段,需求命名。字段,需求命名。3 3多表查询中在两个或者多个表中存在反复的字段名。多表查询中在两个或者多个表中存在反复的字段名。2022-5-1http:/教育信息技术中心 李桂英3.4.4 3.4.4 运用集函数查询运用集函数查询例:求选修了课程编号为例:求选修了课程编号为= =“01-0301-03的学生人数。的学生人数。Select count(Select count(* *) AS ) AS 选课人数选课人数 from from 成果表成果表 where where 课程课程编号编号=01-03 =01-03 Select count(Select count(学号学号) AS ) AS 选课人数选

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论