- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9讲 结构化查询语言—SQL(1) 9.1 SQL概述 SQL是结构化查询语言的缩写。首先由美国ANSI(美国国家标准协会)提出,后被ISO采纳为国际标准。最新版本是SQL92。 9.1.1 SQL语言发展简史(自己看书) 9.1.2 SQL语言的特点 (1) 是一种一体化的语言。它包括了数据定义、数据查询、数据操纵和数据控制等功能。 (2) 是一种高度过程化的语言。 (3) 非常简洁,但功能很强。 (4) 可以直接以命令方式交互使用,又可以嵌入程序设计语言中以程序方式使用。 大多数数据库都支持 SQL 语言。VFP也支持。但是具有自己的特点。 如:由于VFP在数据安全性方面的欠缺,不支持SQL的数据控制功能。 9.2 SQL查询语句的基本结构 查询功能是SQL的核心,SQL的查询命令又称为SELECT语句。其语法格式如下: SELECT [ALL│DISTINCT] [TOP n [PERCENT]]; 查询项1[AS列标题] [,查询项2[AS列标题 ]… ]; FROM 表名1[AS别名] [,表名2[AS别名]… ]; [ WHERE 筛选条件|联接条件]; [ ORDER BY 子句 ]; [ GROUP BY 子句[HAVING 条件]]; [ INTO│TO 子句 ] 这条命令看起来很复杂,但其基本形式由SELECT-FROM模块构成,其余多为可选项,要根据查询的需求去选用。其具体含义在下面的讲解中逐步介绍。 9.3 简单查询 简单查询是基于一个表的查询,也称为单表查询。 9.3.1 查询指定列 在很多情况下,用户只对表中的一部分属性列(字段)感兴趣,可以用SELECT子句来指明要查询的字段,并且可以根据需要改变输出列显示的先后顺序。 【例9.1】 从学生表(xsb)中检索所有学生的学号,姓名和高考分数值。 解:SELECT 学号,姓名,高考分数 FROM xsb 【例9.2】查询课程表(kcb)中的所有记录。 SELECT * FROM kcb “*”为通配符,表示所有字段。 (结合实际操作演示) 9.3.2 查询经过计算的列 输出列可以是一些经过计算的值,其形式可以是数值表达式、字符串常量、函数等。用户还可以通过指定别名来改变查询结果的列标题。 【例9.3】 从学生表(xsb)中检索所有学生的学号,姓名和年龄。 解:年龄可以用当前年份与出生日期中的年份相减得到。 SELECT 学号,姓名,YEAR(DATE())-YEAR(出生日期) AS 年龄 FROM XSB 需要说明:命令中的AS可以省略。 9.3.3 去掉重复值 在数据库表中不可能出现两个完全相同的记录,但由于查询时经常涉及表的部分字段,这样就有可能出现重复行,用短语DISTINCT则可以避免之。 【例9.4】 从学生表(xsb)中检索所有学生的专业。 解: SELECT DISTINCT 专业 FROM XSB 可以看到,100多名同学其实只有5个专业。 9.3.4 条件查询 在SELECT语句中,查询条件用WHERE子句来描述。主要有以下几种情况: 1.比较大小 用于比较的运算符包括:=,,,=,=,#,!=或。 【例9.5】 从学生表中检索出高考分数多于600的学号和姓名。 解:SELECT 学号,姓名,高考分数 FROM xsb WHERE 高考分数600 2.确定范围 BETWEEN…AND…和NOT BETWEEN…AND…分别用来描述宇段值在或不在指定范围的条件。其中,AND的左端给出查询范围的下限,AND的右端给出的是查询范围的上限。 【例9.6】查询高考分数在550~600之间的学生的学号、姓名、专业和高考分数。 解:SELECT 学号,姓名,专业, 高考分数 FROM xsb; WHERE 高考分数 BETWEEN 500 AND 600 3.确定集合 这里所说的集合是相同类型的常量所组成的集合。谓词IN用来描述字段的值属于指定的集合,NOT IN则描述字段值不属于指定的集合。 【例9.7】查询工业工程或信息管理专业的同学的学号,姓名。 解: SELECT 学号,姓名,性别,专业 FROM XSB; WHERE 专业 IN(‘工业工程’,’市场营销’) 4.字符匹配 LIKE是字符匹配运算符,进行匹配运算时可以使用通配符“%”和“_”,其中,“%”表示0个或多个任意字符,“_”表示1个任
文档评论(0)