zoukankan      html  css  js  c++  java
  • sql常用语法

    1、GROUP BY 和 HAVING的用法

    where和having的区别:

    • having子句筛选成组后的各种数据, having子句在聚合后对组记录进行筛选。
    • where子句在聚合前先筛选记录,作用在group by和having子句前。

    例子:

    显示每个地区的总人口数和总面积.仅显示那些面积超过1000000的地区。
    SELECT region, SUM(population), SUM(area) FROM bbc GROUP BY region HAVING SUM(area)>1000000

    https://blog.csdn.net/tyt_XiaoTao/article/details/81532495

    2、GROUP BY 和 ORDER BY一起使用

      写程序也有很长的一段时间了,有些东西我总不曾去思考,很少去积累一些有用的东西,总喜欢“用要即拿”的心态来对待,这是非常不好的坏习惯。这样只会造成依赖心太强,每当遇到一些小小的问题都需要去翻资料。就好像今天写一条查询语句的时候,连group by 和 order by连用都不清楚,我想我以后得注意这些问题。

    正确使用如下:

    以下是引用片段:
    SELECT dep.department_name, MAX(emp.salary), MIN(emp.salary)  
    FROM departments dep  
    LEFT JOIN employees emp  
    ON (dep.department_id = emp.department_id)  
    GROUP BY dep.department_name  
    --order by 的列,必须是出现在group by 子句里的列   
    ORDER BY dep.department_name DESC

    错误使用如下:(执行后报错:ORA-00979:不是GROUP BY 表达式)

    以下是引用片段:
    SELECT dep.department_name, MAX(emp.salary), MIN(emp.salary)  
    FROM departments dep  
    LEFT JOIN employees emp  
    ON (dep.department_id = emp.department_id)  
    GROUP BY dep.department_name  
    --order by 的列,应该出现在group by 子句中   
    ORDER BY dep.department_id DESC

    https://www.cnblogs.com/momoyan/p/9151633.html

  • 相关阅读:
    shell脚本编程练习
    linux中()、[]、{}、(())、[[]]等各种括号的使用
    Linux Shell 变量自加
    while read line [linux] shell 学习
    踢出某正在访问的用户||永久禁止某IP访问
    linux设置 自定义脚本开机启动
    syntax error: unexpected end of file完美解决方案
    Linux利用nc命令脚本批量检测服务器指定端口是否开放
    41-贪心算法
    38-动态规划
  • 原文地址:https://www.cnblogs.com/guoyu1/p/13685047.html
Copyright © 2011-2022 走看看