欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于Mysql的TIPS(持续更新)

程序员文章站 2022-07-02 19:19:38
...
  1. where 后面不能直接跟聚合函数。

  2. 一般来说,select中有聚合函数的话,只能再同时选出分组依据的字段(group by 后面的)。

  3. not in关键字不会自动忽略null值,需要手动剔除;in关键字会自动剔除。

  4. having中可以加聚合函数(先执行group by后,就可以使用聚合函数了)

  5. select、from、where、having 后面都可以加子查询。
    其中select不常用,from一般将子查询的结果作为临时表和外层查询联动,where和having类似,都是先用子查询查出一个值之后帮助过滤。

  6. 不用任何函数完成TOP N(利用笛卡尔积),group by有去重的作用。(仅适用于没有相同的分数的情况)

SELECT
	* 
FROM
	emp a 
INNER JOIN
	emp b 
GROUP BY 
	a.empno 
HAVING 
	sum(a.sal > b.sal) >=9(数据数-N)
ORDER BY 
	a.sal desc;