获取一言 API 内容

SQL 查询语句

本文主要记录SELECT在MySql中的使用

a

基本语法

SELECT [ALL|DISTINCT|DISTINCTROW] column1[,column2 .....]

FROM table_name

[WHERE condition]

[GROUP BY {col_name|expr|position}][ASC|DESC],....[WITH ROLLUP]

[HACING where_condition]

[ORDER BY{col_name|expr|position}][ASC|DESC],....]

[LIMIT{[offset,]row_count|row_count OFFSET offset}]
子句说明必选
SELECT选择返回的列或表达式
FROM检索表仅从表选择数据时
WHERE行级过滤
GROUP BY分组说明仅按组计算聚合
HAVING列级过滤
ORDERBY输出数据的排序
LIMIT要检索的行数

语法详解


  • SELECT
SELECT [ALL|DISTINCT|DISTINCTROW] column1[,column2 .....]
count求组中项数,返回int型
max求最大值
min求最小值
sum表达式所有值求和
avg组中值平均数
std|stdev表达式所有值的标准值
VARIANCE表达式所有值的方差
GROUP_CONCAT返回一组列值连接组合的结果
BIT_AND逻辑或
BIR_OR逻辑与
BIT_XOR逻辑异或
常用函数

  • FROM

FROM可以连接表,通常用来连接多表。

=等于
<>不等于
!=不等于
<       小于
<=小于等于
>大于
>=大于等于
<=>不会返回UNKNOWN
比较运算符

  • WHERE子句

1.比较运算

=等于
<>不等于
!=不等于
<       小于
<=小于等于
>大于
>=大于等于
<=>不会返回UNKNOWN
比较运算符

  • GROUP BY
[GROUP BY {col_name|expr|position}][ASC|DESC],....[WITH ROLLUP]
  • HAVING

过滤分组,规定包含哪些组,排除哪些组

类似WHERE,不同有如下几点

  • WHERE主要用来过滤行,HAVING主要过滤分组
  • HAVING可以包含聚合函数,WHERE不可以
  • WHERE在数据分组前过滤,HAVING在数据分组后。WHERE排除的行不包含分组内,可能会改变计算值
  • ORDER BY

参数和GRDER BY相同

主要作用是进行排序

  • 可以包含子查询
  • 空值视为最小值
  • 多个列排序时,从左至右进行排序
  • 通常和GRDER BY一起使用
ORDER BYGRDER BY
排序产生输出输出不是分组的排序
任意列都可以使用只能使用选择列或表达式列
不一定需要与聚合函数 一起使用列或表达式时必须使用
差别
  • LIMIT

限制返回的行数

[LIMIT{[offset,]row_count|row_count OFFSET offset}]

posted @ 2025-01-06 16:46  奇怪的知识增加了  阅读(46)  评论(0)    收藏  举报
隐藏日历模块