您的位置:首页 > 数据库 > MySQL

MySQL其他(执行顺序、where和having区别)

2020-06-11 11:10 45 查看

SQL和MySQL的区别:

SQL是一种语言就像Python,MySQL是一种数据软件叫做数据库就像Pytorch。数据软件还有其他的例如:oracle等,都是通过SQL语句进行查询的,数据库之间有细微差异(以后用到再说)。

MySQL语句的书写顺序为:

[code]select (输出)   from (获取数据)  where(过滤)  group by (分组) having(过滤) order by (排序)   limit(限定)

MySQL语句的执行顺序为:

[code]先from,在执行where,group by ,select, having,order by ,limit

使用group by时的聚类函数;

[code]count(*) 和 count(1)  是一样的
count(column) 不统计column中的为NULL的行数目
count(distinct column) 不统计column中重复行数目
sum()
max()
min()
avg()
group_concat() 字符串的结合

where和having的区别:

1. where是一个约束声明,使用Where约束来自数据库的数据,Where是在结果返回之前起作用的,Where中不能使用聚合函数。
2. Having是一个过滤声明,是在查询返回结果集以后对查询结果进行的过滤操作,在Having中可以使用聚合函数。在查询过程中聚合语句(sum,min,max,avg,count)要比having子句优先执行。而where子句在查询过程中执行优先级高于聚合语句。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: