[其它考试]第6章 结构化查询语言SQL.ppt

上传人:音乐台 文档编号:2002602 上传时间:2019-01-30 格式:PPT 页数:42 大小:859KB
返回 下载 相关 举报
[其它考试]第6章 结构化查询语言SQL.ppt_第1页
第1页 / 共42页
[其它考试]第6章 结构化查询语言SQL.ppt_第2页
第2页 / 共42页
[其它考试]第6章 结构化查询语言SQL.ppt_第3页
第3页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《[其它考试]第6章 结构化查询语言SQL.ppt》由会员分享,可在线阅读,更多相关《[其它考试]第6章 结构化查询语言SQL.ppt(42页珍藏版)》请在三一文库上搜索。

1、第6章 结构化查询语言SQL,6.1 SQL概述 6.2 SQL的定义功能 6.3 SQL的操作功能 6.4 SQL的查询功能,SQL(Structure Query language)是结构化查询语言的英文缩写。 SQL语言是一种标准的关系数据库查询语言,充分体现了关系数据语言的特点和优点。 SQL语言集数据定义、数据操作和数据控制功能于一体。,SQL 概述,SQL语言简洁,易学易用:完成数据定义、数据操作、 数据控制功能只用了9条命令。 数据定义命令(3条):CREATE,DROP, ALTER 数据查询命令(1条):SELECT 数据操作命令(3条):INSERT,UPDATE, DEL

2、ETE 数据控制命令(2条):GRANT,REVOKE,第6章 结构化查询语言SQL,6.1 SQL概述 6.2 SQL的定义功能 6.3 SQL的操作功能 6.4 SQL的查询功能,格式: CREATE TABLE ; (,); 完整性约束NULL|NOT NULL; ,) 示例: Create Table 通信录 Free(姓名C(8),生日D,; 家庭电话C(14),手机号码C(12) List Structure,6.2.1 建立表结构,6.2.2 修改表结构,格式: ALTER TABLE ; ADD (,); 完整性约束NULL|NOT NULL DROP 完整性约束 ALTER

3、,示例:在成绩表中,增加一体育字段(N,3)。 ALTER TABLE 成绩 ADD 体育 N(3) 示例:修改成绩表中的数学字段的宽度改为3。 ALTER TABLE 成绩 ALTER 数学 N(3) 示例:删除成绩表中的数学字段的约束条件。 ALTER TABLE 成绩 ALTER 数学 DROP CHECK 示例:删除通信录表中的家庭住址字段。 ALTER TABLE 通信录 DROP COLUMN 家庭住址,6.2.3 建立视图,格式: CREATE SQL VIEW ; (,) AS 说明:创建视图,必须首先打开数据库 示例: Open DataBase 职工管理 Create Sq

4、l View 男职工; As Select * From zgda Where 性别=”男”,6.2.4 删除表,格式: DROP TABLE 说明:若删除数据库表,必须先打开数据库 示例: Open DataBase 职工管理 Drop Table zgda,第6章 结构化查询语言SQL,6.1 SQL概述 6.2 SQL的定义功能 6.3 SQL的操作功能 6.4 SQL的查询功能,格式1: INSERT INTO (,); VALUES(,) 示例: INSERT INTO 通信录(姓名,手机号码); VALUES (”刘晶晶”,”13291895589”) 注意:各字段名和数据必须用逗

5、号分开,表达式的值必须是常量。,6.3.1 插入记录,格式2: INSERT INTO FROM ARRAY |FROM MEMVAR 示例: 姓名=“程小敏” 手机号码=“13256672578” INSERT INTO 通信录 FROM MEMVAR,DIMENSION DATA8 DATA(1)=“2000107“ DATA(2)=“李宁“ DATA(3)=“女“ DATA(4)=05/06/85 DATA(5)=“22“ DATA(6)=“检验“ DATA(7)=“广东“ Insert Into Student FROM ARRAY DATA,格式: UPDATE WHERE ; SE

6、T = ,= 说明: WHERE子句指定待修改的记录应满足的条件,缺省此短语,则修改表中的所有记录。 示例: UPATE zgda SET 基本工资=基本工资+80,6.3.2 更新记录,格式: DELETE FROM WHERE 说明: WHERE子句指定待删除的记录应当满足的条件,缺省该短语,则删除表中的所有记录。 示例: Delete From zgda Where 年龄55,6.3.3 删除记录,第6章 结构化查询语言SQL,6.1 SQL概述 6.2 SQL的定义功能 6.3 SQL的操作功能 6.4 SQL的查询功能,SQL查询模块结构: SELECT FROM WHERE 说明:

7、 SELECT-查询输出结果字段 FROM-查询来源。表或视图 WHERE-查询应满足的条件,6.4.1 SQL查询命令,SELECT FROM JOIN ON INTO WHERE GROUP BY HAVING ORDER BY,SELECT查询格式, Where 性别=“女” AND 籍贯=“广东”,6.4.2 简单查询(单表查询), Where 性别=男,6.4.2 简单查询(单表查询), Order By 学号 Desc Select * Top 20 Percent From Student Order By 出生日期 Desc 注意:使用TOP子句时,同时要使用ORDER BY,

8、6.4.3 特殊运算符, And 1985-12-30 &查询所有姓李的学生记录 Select * From student; Where 姓名 Like “李%”,&查询所有籍贯为广东、湖南或湖北的学生 Select * From Student; Where 籍贯 In(”广东”,”湖南”,”湖北”) &查询所有籍贯不是广东、湖南或湖北的学生 Select * From Student; Where 籍贯 Not In(”广东”,”湖南”,”湖北”), Where NOT(籍贯=“广东”),嵌套查询是在WHERE子句中包含另一个SELECT查询语句。嵌套查询在执行时由里向外处理,即先执行子

9、查询再执行父查询,父查询要用到子查询的结果。,6.4.4 嵌套查询, Where 姓名=“张立”),查询成绩表中数学成绩高于数学平均分的学生记录 Select * From 成绩; Where 数学(Select Avg(数学) From 成绩) 查询程序设计不及格的学生记录 Select * From student Where 学号 Not In; (Select 学号 From 成绩 Where 程序设计60),查询的结果。,内外层互相关嵌套查询, Where 姓名=“张立”),基于多个相关的数据表进行的查询,表之间的联接通过共有字段相等建立。 Where Student.学号=Borr

10、ow.学号,6.4.5 多表查询(联接查询), Where Student.学号=Borrow.学号; And Student.性别=男,6.4.5 多表查询(联接查询),是一种基于多个相关数据表的查询,它是通过包含在SELECT-SQL命令中的FROMJOINON短语来实现的. SELECTFROM INNER|LEFT|RIGHT|FULL; JOIN ; ON ,6.4.6 超联接查询,A表 左表,B表 右表,内连接,右连接,左连接,完全连接,6.4.7 统计查询, Where 性别=”男”,统计Student表中籍贯为广东的学生人数 Select Count(*) As 广东学生人数;

11、 From Student Where 籍贯=”广东” 统计Student表中籍贯的个数 Select Count(DISTINCT 籍贯) As 籍贯个数; From Student Select DISTINCT 籍贯 From Student,将查询结果根据某个字段的值进行分组,值相同的多条记录被合并为一条记录输出。 示例:Select 班级,Count(*) As 人数; From Student Group By 班级 GROUP BY子句按班级的值分组。先按班级进行分组,然后对每组使用函数Count进行计算,统计出班级学生的人数。,6.4.8 分组(计算)查询,将查询结果根据某个字

12、段的值进行分组,值相同的多条记录被合并为一条记录输出。 示例:查询每个班的人数 Select 班级,Count(*) As 人数; From Student Group By 班级 GROUP BY子句指定分组字段。先按班级进行分组,然后对每组使用函数Count进行计算。,6.4.8 分组(计算)查询,在分组查询时,有时要求分组满足某个条件时才检索,这时可以用HAVING子句来限定分组。 示例:查询人数大于30的班级 Sele 班级,Count(*) As 人数 From Student; Group By 班级 HAVING Count(*)=30 HAVING子句总是跟在GROUP BY子

13、句之后,不可以单独使用。,6.4.8 分组查询,可以使用ORDER BY子句对查询的结果按照一个或多个属性列的升序(ASC)或降序(DESC)排列。 注意:ORDER BY子句必须在其他子句之后。 示例: Select * From Student; Where 性别=”男”; Order by 学号,补充:查询的排序,示例: Select * From Student; Where 性别=”男”; Order by 学号 Desc 示例: Select * From Student; Where 性别=”男”; Order by 学号 Desc,年龄 Asc,补充:查询的排序,SQL支持空值,可以利用空值进行查询。 查询班级为空的学生记录 Select * From Student Where 班级 Is Null 查询空值要利用IS NULL,而=NULL是无效的。 查询班级不为空的学生记录 Select * From Student Where 班级 Is NOT Null,补充:利用空值查询,SELE 输出行 字段名 FROM 表名表 WHERE 逻辑表达式 INTO 目的 排序 分组,ALL DIST TOP PERCENT,*,字段名,库函数,排序:ORDER BY 字段名1,字段名2, 匹配:TOP-ORDER,分组:GROPU BY 字段名 HAVING,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1