• SQL中的查询排序


    一、SQL基础查询
    1、select语句
    格式:select字段from表名;

    2、where 用于限制查询的结果

    3、查询条件> < >= <= = !=

    4、与 或(AND,OR)

    5、在 不在(IN,NOT IN)

    6、在[a,b] (between val1 and val2)

    7、空 非空(NULL,NOT NULL)

    8、全部 任一(ALL,ANY)
    不能单独使用,必须与关系运算符配合

    9、排重DISTINCT
    用在字段之前


    二、排序
    1、使用 ORDER BY 语句
    格式:select 字段 from 表名 where 条件 ORDER BY 字段;

    2、设置升序降序(ASC,DESC)
    格式:select 字段 from 表名 where 条件 ORDER BY 字段 ASC|DESC

    3、多项排序
    格式:select 字段 from 表名 where 条件 ORDER BY 字段 ASC|DESC,字段ASC|DESC

    三、聚合函数
    注意:在使用比较运算符时NULL为最大值,在排序时也会受影响
    把 select 语句的查询结果汇聚成一个结果,这样的函数叫聚合函数
    1、MAXMIN
    获取最大值和最小值,可以是任何数据类型,但只能获取一个字段

    2、AVGSUM
    获取平均值、总和
    nvl(salary,0)

    3、COUNT
    统计记录的数量

    四、分组
    1、GROUP BY
    格式:select 组函数 from 表 group by 字段

    2、HAVING 组判断条件
    它的真假决定一组数据是否返回

    五、查询语句的执行顺序
    1、格式:select sum(salary) from 表名 where bool order by group by
      a、from 表名,先确定数据的来源
      b、where 确定表中的哪些数据有效
      c、group by 字段名,确定分组的依据
      d、having 确定组数据是否返回
      e、order by 对组数据进行排序

    六、关联查询
    1、多表查询
    select 字段 from 表1,表2 where;
    2、多表查询时有相同字段怎么办
        1、表名.字段名
      2、表名如果太长,可以给表起别名 (from 表 别名)
    3、笛卡尔积
      a、8条数据
      b、9条数据
    在多表查询时,一定要设置where 条件,否则将得到笛卡尔积


    七、连接查询
    当使用多表进行关联查询时,根据设置的条件会得到不同的结果
    1、内连接查询:左右两边能匹配上的
    select last_name ,name from s_emp,s_dept where dept_id=s_dept.id
    2、外连接:左右两边不能匹配的数据
    select last_name ,name from s_emp left|right|full outer join s_dept on dept_id=s_dept.id
    3、左外连接
    匹配成功的数据+左表不能匹配的数据
    4、右外连接
    匹配成功的数据+右表不能匹配的数据
    5、全外连接
    匹配成功的数据+左右表不能匹配的数据



  • 相关阅读:
    maxContainerCapability 设置不足
    parquet code demo
    Windows下pip安装包报错:Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.bat
    jvm 调优 工具
    hive premanent udf 发布...
    centos6.5 升级python 到 python 2.7.11 安装 pip
    mapreduce 关于小文件导致任务缓慢的问题
    数据可视化开源系统(python开发)
    vs 中 vim vax 快捷键
    ViEmu for VS2013-3.2.1 破解(转)
  • 原文地址:https://www.cnblogs.com/xiwen2017/p/9635004.html
Copyright © 2020-2023  润新知