Oxida.s Blog

BLOG.OXIDA.CN
热爱与温柔
  1. 首页
  2. JAVA 编程
  3. 正文

MySQL 查询语句

2020年3月17日 13点热度 0人点赞 0条评论

where 查询指定记录

select 字段1,字段2...字段n 
from 表名
whree 查询条件

where 条件判断符

操作符 说明
<>,!= 不等于
< 小于
<= 小于等于
= 大于
>= 大于等于
between 位于两值之间

in 关键字的查询

in 操作符号用来查询满足指定范围内的条件的记录。
使用 in 操作符号,将所有查询条件用括号括起来,查询条件之间使用逗号分隔开,只要满足条件访问内的一个值即为匹配项。

使用关键字NOT in 来检索不在条件范围内的记录。

between and 的范围查询

between and 用来查询某个范围内的值,该操作符需要两个参数,即范围的开始值和结束值,如果字段值满足指定的范围查询条件,则这些记录被返回。

BETWEEN AND操作符前可以加关键字NOT,表示指定范围之外的值,如果字段值不满足指定的范围内的值,则这些记录被返回。

like 的字符匹配查询

用来查询所有包含字符的值,和LIKE一起使用的通配符有‘%’和‘_’。

  • 百分号通配符‘%’,匹配任意长度的字符,甚至包括零字符。
  • 下划线通配符‘_’,一次只能匹配任意一个字符。

is null 查询空值

查询某字段内容为空记录。

与IS NULL相反的是NOT NULL,该关键字查找字段不为空的记录。

and 的多条件查询

使用 and 操作符限定只有满足所有查询条件的记录才会被返回。可以使用AND连接两个甚至多个查询条件,多个条件表达式之间用 and 分开。

or 的多条件查询

与AND相反,在WHERE声明中使用OR操作符,表示只需要满足其中一个条件的记录即可返回。OR也可以连接两个甚至多个查询条件,多个条件表达式之间用OR分开。

distinct 查询结果不重复

distinct 关键字指示MySQL消除重复的记录值。

order by 查询结果排序

order by 子句对查询的结果进行排序。

desc 指定排序方向

默认情况下,查询数据按字母升序进行排序(A~Z),但数据的排序并不仅限于此,还可以使用ORDER BY对查询结果进行降序排序(Z~A)。这可以通过关键字DESC实现。

group by 分组查询

group by 关键字对数据进行分组。
- group by 字段 having <条件表达式>” 指定满足表达式限定条件的结果将被显示。
- group by 关键字通常和集合函数一起使用,比如MAX()、MIN()、COUNT()、SUM()、AVG()。
- with rollup 在所有查询出的分组记录之后增加一条记录,该记录计算查询出的所有记录的总和,即统计记录数量。
- group by 可以对多个字段进行分组,GROUP BY关键字后面跟需要分组的字段,MySQL根据多字段的值来进行层次分组,分组层次从左到右,即先按第1个字段分组,然后在第1个字段值相同的记录中再根据第2个字段的值进行分组,以此类推。
- 和 order by 一起使用可以完成对分组的排序。

limit 限制查询结果的数量

SELECT返回所有匹配的行,有可能是表中所有的行,若仅仅需要返回第一行或者前几行,可使用LIMIT关键字。

集合函数查询

有时候并不需要返回实际表中的数据,而只是对数据进行总结。MySQL提供一些查询功能,可以对获取的数据进行分析和报告。这些函数的功能有:计算数据表中记录行数的总数、计算某个字段列下数据的总和,以及计算表中某个字段下的最大值、最小值或者平均值。

函数 说明
avg() 返回某列的平均值
count() 返回某列的行数
max() 返回某列的最大值
min() 返回某列的最小值
sum() 返回某列值的合

连接查询

inner join 内连接查询

使用比较运算符进行表间某(些)列数据的比较操作,并列出这些表中与连接条件相匹配的数据行,组合成新的记录,也就是说,在内连接查询中,只有满足条件的记录才能出现在结果关系中。

left join(左连接)和right join(右连接)外连接查询

外连接查询将查询多个表中相关联的行,内连接时,返回查询结果集合中仅是符合查询条件和连接条件的行。有时候需要包含没有关联的行中数据,即返回查询结果集合中不仅包含符合连接条件的行,还包括左表(左外连接或左连接)、右表(右外连接或右连接)或两个边接表(全外连接)中的所有数据行。

复合条件连接查询

复合条件连接查询是在连接查询的过程中,通过添加过滤条件限制查询的结果,使查询的结果更加准确。

any(some)、all、in、exist 子查询

子查询指一个查询语句嵌套在另一个查询语句内部的查询。在SELECT子句中先计算子查询,子查询结果作为外层另一个查询的过滤条件,查询可以基于一个表或者多个表。子查询中常用的操作符有ANY(SOME)、ALL、IN、EXISTS。子查询可以添加到SELECT、UPDATE和DELETE语句中,而且可以进行多层嵌套。子查询中也可以使用比较运算符,如“<”“<=”“>”“>=”和“!=”等。

any、some 关键字的子查询

表示满足其中任一条件,它们允许创建一个表达式对子查询的返回值列表进行比较,只要满足内层子查询中的任何一个比较条件,就返回一个结果作为外层查询的条件。

all 关键字的子查询

ALL关键字与ANY和SOME不同,使用ALL时需要同时满足所有内层查询的条件。

exist 关键字的子查询

EXISTS关键字后面的参数是一个任意的子查询,系统对子查询进行运算以判断它是否返回行,如果至少返回一行,那么EXISTS的结果为true,此时外层查询语句将进行查询;如果子查询没有返回任何行,那么EXISTS返回的结果是false,此时外层语句将不进行查询。

in 关键字的子查询

IN 关键字进行子查询时,内层查询语句仅仅返回一个数据列,这个数据列里的值将提供给外层查询语句进行比较操作。

比较运算符的子查询

子查询时还可以使用其他的比较运算符,如“<”“<=”“=”“>=”和“!=”等。

union 合并查询结果

利用UNION关键字,可以给出多条SELECT语句,并将它们的结果组合成单个结果集。合并时,两个表对应的列数和数据类型必须相同。各个SELECT语句之间使用UNION或UNION ALL关键字分隔。UNION不使用关键字ALL,执行的时候删除重复的记录,所有返回的行都是唯一的;使用关键字ALL的作用是不删除重复行也不对结果进行自动排序。

regexp 正则表达式查询

则表达式通常被用来检索或替换那些符合某个模式的文本内容,根据指定的匹配模式匹配文本中符合要求的特殊字符串。regexp 关键字指定正则表达式的字符匹配模式

本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2022年7月18日

氧化先生

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

取消回复
Contents
  • where 查询指定记录
  • in 关键字的查询
  • between and 的范围查询
  • like 的字符匹配查询
  • is null 查询空值
  • and 的多条件查询
  • or 的多条件查询
  • distinct 查询结果不重复
  • order by 查询结果排序
  • desc 指定排序方向
  • group by 分组查询
  • limit 限制查询结果的数量
  • 集合函数查询
  • 连接查询
    • inner join 内连接查询
    • left join(左连接)和right join(右连接)外连接查询
  • 复合条件连接查询
  • any(some)、all、in、exist 子查询
    • any、some 关键字的子查询
    • all 关键字的子查询
    • exist 关键字的子查询
    • in 关键字的子查询
    • 比较运算符的子查询
  • union 合并查询结果
  • regexp 正则表达式查询
分类
  • JAVA 编程
  • 产品经理
  • 奇淫技巧
  • 文档规范
  • 法律法规
  • 生活妙招
  • 虚拟货币
  • 资源盒子
  • 软件设计
标签聚合
狗狗币 奇淫技巧 Cloudflare Kubernetes 软件设计 域名 freenom 软件设计师
广告

COPYRIGHT © 2022 闪闪的部落格. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

黔ICP备16010320号

粤公网安备 44030602005860号