Skip to content

组函数

634字约2分钟

数据库mysql

2024-10-24

组函数

min()取最小值

max()取最大值

avg()取平均值

count()统计非空行数

sum()求和

round()四舍五入

group by分组

在select语句之后的列除非使用了组函数处理,否则它必须出现在group by 之后

在group by 之后出现的不必须出现在select之后

where与group by同时出现时,先where筛选再group by筛选

在where子句中不可使用组函数,可使用单行函数

order by 列1 desc,列2 desc 表示先按列1降序排列,当条件相同时使用列2降序

SQL语句顺序

书写顺序关键字执行顺序
1SELECT 查询列表(确定结果集中包含哪些列)
2FROM 表名(确定查询哪张表)7
3JOIN 关联表(确定与哪张表连接)1
4ON 关联条件(确定连接条件是什么)2
5WHERE 筛选条件(有连接查询时表示过滤连接后的结果)3
6GROUP BY 分组字段(确定数据分组条件)4
7HAVING 分组后筛选条件(对分组后的数据进行筛选)5
8ORDER BY 排序字段(对数据进行排序)6
9LIMIT 输出限制(限制输出数据的范围)8

另外,DISTINCTSELECT 执行时执行。

在 MySQL 中,书写时LIMITORDER BY 语句之后,执行时也在ORDER BY之后执行。

Oracle数据库中不支持 LIMIT 语句。

表1 left join 表2 on 条件 表1的数据无论怎样都会存在

表1 right join 表2 on 条件 表2的数据无论怎样都会存在

多表连接

表1 join 表2 on 条件1 join 表3 on 条件2

复合主键 primary key(列名1,列名2,列名3,........)各个列共同确定某一行

字段定义时使用comment关键字定义注释

在information_schema数据库的tables表可查看所有的表的注释(通过 information_schema 数据库中的 tables 可以查看所有表的注释。)

在information_schema数据库的columns表中可查看所有的列注释(通过 information_schema 数据库中的 columns 可以查看所有列的注释。)

drop databse if exists 数据库名 删除指定数据库如果已存在

多重查询 子查询的结果为父查询的查询条件

select 要查询列表 from 要查询的表 where 列名 in(select 子查询列表 from 子查询要查询的表 where 子查询条件)