第6章SQL语言的应用1.ppt
文本预览下载声明
第六章;6.1 SQL语言概述
6.2 数据查询
6.3 数据定义
6.4 数据操纵 ; 20世纪80年代初,美国国家标准协会(ANSI)开始着手制定SQL标准。SQL标准的出台使SQL作为标准关系数据库语言的地位得到了加强。目前流行的关系数据库管理系统,如Qracle、Sybase、SQL Server、Visual FoxPro等都采用了SQL语言标准,而且很多数据库都对SQL语句进行了再开发和扩展。;SQL语言的特点:
(1)SQL是一种一体化的语言。尽管设计SQL的最初目的是查询,数据查询也是其最重要的功能之一,但SQL决不仅仅是一个查询工具,它集数据定义、数据查询、数据操纵和数据控制功能于一体,可以独立完成数据库的全部操作。
(2)SQL语言是一种高度非过程化的语言。它没有必要一步步地告诉计算机“如何”去做,而只需要描述清楚用户要“做什么”,SQL语言就可以将要求交给系统,自动完成全部工作。
(3)SQL语言非常简洁。虽然SQL语言功能很强,但它只有为数不多的9条命令:CREATE、DROP、ALTER、SELECT、INSERT、UPDATE、DELETE、GRANT、REVOKE。另外SQL的语法也非常简单,它很接近英语自然语言,因此容易学习和掌握。;(4)SQL语言可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以程序方式使用。现在很多数据库应用开发工具都将SQL语言直接融入到自身的语言之中,使用起来更方便,Visual FoxPro就是如此。这些使用方式为用户提供了灵活的选择余地。此外,尽管SQL的使用方式不同,但SQL语言的语法基本是一致的。
SQL只是一种建议标准,各种数据库产品中所实现的SQL在语法、功能等方面均略有差异,本章讲述Visual FoxPro 中SQL的语法、功能与应用。;6.1 SQL数据查询定义;查询的基本用法和子句;查询的基本用法和子句;基本语句二:
WHERE:说明查询记录的条件,两个表之间的联接条件,在数据库中的永久连接默认为当然的条件。
范例二:
求解:查询为S3供应商提供服务的仓库所在的城市
SELECT A.城市 ;
FROM 仓库表 A,职工表 B,订购单表 C;
WHERE A.仓库号=B.仓库号 .AND. ;
B.职工号=C.职工号 .and.C.供应商名=“S3”
问题:完成学生成绩的查询,;基本语句三:
ORDER BY:对查询的结果排序
GROUP BY 组表达式1,…:对查询结果进行分和分类汇总
HAVING 〈条件表达式〉:限定分组条件
范例三:成绩查询
SELECT * FROM 成绩 ORDER BY 成绩 DESC
SELECT 学号,SUM(成绩)AS 合计 FROM 成绩;
ORDER BY 合计 DESC;
GROUP BY 学号
SELECT A.姓名,A.学号,SUM(B.成绩) AS 合计 FROM 学生 A,成绩 B;
ORDER BY 合计 DESC;
GROUP BY A.学号;查询的基本用法和子句;综合分析:
假设有设备表SB和大修表DX,请分析以下SQL语句的功能:
基本表格:SB.DBF DX.DBF
范例5:
SELECT SB.名称,SUM(DX.费用) AS 大修总费用 from SB,DX;
WHERE SB.编号=DX.编号 .AND.LEFT(SB.编号,3)”038”;
GROUP BY DX.编号;
INTO TABLE 大修报表;
ORDER BY 2;简单的计算功能:
COUNT
SUM
AVG
MAX
MIN
范例6:
sele 仓库号,count(distinct 职工号) as 职工个数 ;
from 职工 where 工资=1220;
group by 仓库号;查询的基本用法和子句;例 列出全部学生名单。
例 列出所有学生姓名,去掉重名。
;例 将所有的学生入学成绩四舍五入,只显示学号、姓名和入学成绩。
例 求出所有学生的入学成绩平均分。;例 求出湖南学生入学成绩平均分。
例 列出非湖南籍的学生名单。;例 列出江苏籍和贵州籍的学生名单。 ;例 列出入学成绩在560分到650分之间的学生名单。
例 列出所有的姓赵的学生名单。;例 列出所有成绩为空值的学生学号和课程号。 ;例 列出选修“数据库原理”的所有学生的学号。;例 列出选修“01101”课的学生,这些
显示全部