- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5讲 数据查询 简单查询 聚合函数 分组查询 多表查询 子查询 简单查询 SELECT语句可以从一个或多个表中选取特定的行和列,结果通常是生成一个临时表。 下面介绍SELECT语句,它是SQL的核心。 语法格式: SELECT f1,[f2,…] [FROM table_reference [ , table_reference] …] /*FROM子句*/ [WHERE where_definition] 简单查询 1. 选择指定的列 使用SELECT语句选择一个表中的某些列,各列名之间要以逗号分隔。 注意:当在SELECT语句指定列的位置上使用*号时,表示选择表的所有列。 2. 定义列别名 当希望查询结果中的某些列或所有列显示时且使用自己选择的列标题时,可以在列名之后使用AS子句来更改查询结果的列别名。语法格式为: SELECT column_name [AS] column_alias 简单查询 3. 替换查询结果中的数据 在对表进行查询时,有时对所查询的某些列希望得到的是一种概念而不是具体的数据。 要替换查询结果中的数据,则要使用查询中的CASE表达式,格式为: CASE WHEN 条件1 THEN 表达式1 WHEN 条件2 THEN 表达式2 …… ELSE 表达式 END 简单查询 4. 计算列值 使用SELECT对列进行查询时,在结果中可以输出对列值计算后的值,即SELECT子句可使用表达式作为结果,格式为: SELECT expression [ , expression ] 5. 消除结果集中的重复行 对表只选择其某些列时,可能会出现重复行。其格式是: SELECT DISTINCT | DISTINCTROW column_name [ , column_name…] 其含义是对结果集中的重复行只选择一个,保证行的唯一性。 简单查询 WHERE子句 WHERE子句必须紧跟FROM子句之后,在WHERE子句中,使用一个条件从FROM子句的中间结果中选取行。其基本格式为: WHERE where_definition 其中,where_definition为查询条件。语法格式为: where_definition: precdicate | precdicate{ AND | OR } precdicate | (where_definition) | NOT where_definition 其中,predicate为判定运算,结果为TRUE、FALSE或UNKNOWN。 简单查询 WHERE子句会根据条件对FROM子句的中间结果中的行一行一行地进行判断,当条件为TRUE的时候,一行就被包含到WHERE子句的中间结果中。 说明: 判定运算包括比较运算、模式匹配、范围比较、空值比较和子查询。 1. 比较运算 比较运算符用于比较两个表达式值,MySQL支持的比较运算符有:=(等于)、(小于)、=(小于等于)、(大于)、=(大于等于)、=(相等或都等于空)、(不等于)、!=(不等于)。 简单查询 2. 模式匹配 LIKE运算符 LIKE运算符用于指出一个字符串是否与指定的字符串相匹配,其运算对象可以是char、varchar、text、datetime等类型的数据,返回逻辑值TRUE或FALSE。LIKE谓词表达式的格式为: match_expression [ NOT ] LIKE match_expression [ ESCAPE escape_character ] 使用LIKE进行模式匹配时,常使用特殊符号_和%,可进行模糊查询。“%”代表0个或多个字符,“_”代表单个字符。 简单查询 3. 范围比较 用于范围比较的关键字有两个:BETWEEN和IN。 当要查询的条件是某个值的范围时,可以使用BETWEEN关键字。BETWEEN关键字指出查询范围,格式为: expression [ NOT ] BETWEEN expression1 AND expression2 当不使用NOT时,若表达式expression的值在表达式expression1与expression2之间(包括这两个值),则返回TRUE,否则返回FALSE;使用NOT时,返回值刚好相反。 简单查询 注意:expression1的值不能大于expression2的值。 使用IN关键字可以指定一个值表,值表中列出所有可能的值,当与值表中的任一个匹配时,即返回TRUE,否则返回FALSE。使用IN关键字指定值表的格式为: expressio
文档评论(0)