- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章SQL的应用VFP第3版
第4章 SQL的应用
SQL是结构化查询语言Structured Query Language的缩写,是目前关系型数据库的通用语言。SQL包括数据定义、数据操纵和数据控制等功能,Visual FoxPro支持SQL。 ;4.1 SQL概述
1.SQL的发展
SQL是1974年由Boyce和Chamverin提出的。
美国国家标准化协会(ANSI)和国际标准化组织(ISO)于1986年共同提出了一些SQL的标准。
1986年10月由ANSI公布的SQL—86标准
1989年通过的SQL—89标准
1992年通过的SQL—92标准。
目前,各主流数据库采用的标准是SQL—92。 ;2.SQL的特点
(1)SQL是一种一体化的语言。
(2)SQL是一个非过程化语言。
(3)SQL既是自含式语言,又是嵌入式语言。
3.SQL的功能
SQL功能强大,可以完成数据定义、数据查询、数据操纵和数据控制功能,但其核心功能只用9个动词,如表4-1所示。;4.2 SQL的查询功能
命令格式为
SELECT [ALL|DISTINCT] 字段名表|函数
FROM 表名 [JOIN 表名 ON 条件表达式]
[WHERE 条件表达式]
[GROUP BY 分组字段名[HAVING 条件表过式]]
[ORDER BY 排序选项[ASC|DESC]]
各选项功能如下。
● SELECT短语说明要查询的字段或函数表达式。
● FROM短语说明查询的数据来源,即查询的数据来自于哪些表。
● WHERE短语说明查询条件。
● GROUP BY短语用于对查询结果按分组字段名进行分组。
● HAVING短语必须跟随GROUP BY使用,它用来限定分组必须满足的条件。
● ORDER BY 短语用于对查询的结果进行排序。;4.2.1 简单查询
SQL查询的基本形式是SELECT-FROM-WHERE,可以完成对表的投影或筛选操作。
例4-1 检索student表中的所有专业值。
SELECT 专业 FROM student
运行结果如图4-1所示。;4.2.2 联接查询
联接查询是一种基于多个表的查询,这些表之间需要有联接条件。
例4-5 检索出选修“VFP程序设计”的学生的学号、课程号、成绩和学分。
SELECT 学号,course.课程号,成绩,学分 FROM score,course;
WHERE course.课程号=score.课程号 AND 课程名=VFP程序设计;4.2.3 嵌套查询
在SQL中,可以将一个查询嵌入在另一个查询的WHERE子句中,这类查询称为嵌套查询,一般将内层的查询称为子查询,将外层的查询称为父查询。嵌套的SELECT查询使得SQL可以实现各种复杂的查询。子查询必须用括号括起来。
嵌套查询的执行过程是先求解子查询,用于建立父查询的条件。子查询的结果必须是一个确定的内容,如果结果为一个值,一般用谓词“=”,如果结果为一个集合,使用的谓词是IN或EXIST等。
例4-7 检索有成绩高于90分的课程号和课程名。
SELECT 课程号,课程名 FROM course WHERE 课程号 IN;
(SELECT 课程号 FROM score WHERE 成绩90);4.2.4 分组查询
SQL中使用GROUP BY 子句对查询结果进行分组,HAVING子句限定分组满足的条件。在分组查询中,可以使用WHERE子句先进行数据筛选。
例4-10 检索出score表中各门课的平均成绩。
SELECT 课程号,AVG(成绩) AS 平均成绩 FROM score GROUP BY 课程号;;3.SQL中的函数
SQL的算术函数包括计数函数COUNT()、求和函数SUM()、平均值函数AVG()、最大值函数MAX()和最小值函数MIN()。
4.BETWEEN…AND子句
查询界于某范围内的信息,该子句包括边界条件。
5.LIKE运算符
LIKE是字符串匹配运算符,和通配符“%”、“_”连用。通配符“%”表示0或多个字符,通配符“_”(下画线)表示一个字符。
6.不等于运算符
在SQL中,“不等于”用“!=”表示。;4.2.6 利用空值查询
SQL支持空值,可以利用空值进行查询。查询空值时要使用IS NULL,短语“=NULL”是无效的,因为空值不是一个确定的值,不能用“=”这样的运算符进行比较。
例4-23 查询有课程未参加考试的学生姓名和未参加考试的课程(未参加考试即课程的成绩为空值)。
SELECT 姓名,课程号 FROM student,score;
WHERE stud
文档评论(0)