• Oracle 高级查询1 关联查询 分组查询


    高级查询

    1.关联查询
    作用:可以跨越多表查询

    --查询出员工的名字和他所在部门的的名字


    语法:
    select 列,列,列
    from 表1 join 表2
    on 表1外键=表2主键

    2.外联接


    左外联[left outer join]
    以关联的左边为准,即使右边没有与之匹配的记录,则左边的记录也要
    出现在结果集中,右边全部以NULL值显示。

    右外联[right outer join]
    以关联的右边为准,即使左边没有与之匹配的记录,则右边的记录也要
    出现在结果集中,左边全部以NULL值显示。

    3分组查询
    定义:利用内置的分组函数来查询

    所谓分组,就是看待数据的“角度”不同。
    也就是把某类值相同的看做一组。

    语法:
    select 列名,组函数(列名)...from 表名
    where 条件
    group by 列
    having 字句
    order by 列

    分组函数:
    SUM([distinct] 列|表达式|值)        求和
    AVG([distinct] 列|表达式|值)         求平均值
    MAX(列|表达式|值)            求最大值
    MIN(列|表达式|值)             求最小值
    COUNT([distinct] 列|*)            求个数(包含null)


    注意1:只有出现在group by 后面的列[用来做为分组条件的列],才有资格
    写在SELECT的后面,除非使用组函数进行修饰。

    注意2:having 和where 都是条件
    区别:
    WHERE 子句中是不能使用 组函数的,因为它在GROUP BY 之前。
    但是,HAVING 子句中可以使用组函数,因为它在GROUP BY 之后。

  • 相关阅读:
    HDU 5115 Dire Wolf (区间DP)
    HDU 4283 You Are the One(区间DP(最优出栈顺序))
    ZOJ 3469 Food Delivery(区间DP好题)
    LightOJ 1422 Halloween Costumes(区间DP)
    POJ 1651 Multiplication Puzzle(区间DP)
    NYOJ 石子合并(一)(区间DP)
    POJ 2955 Brackets(括号匹配一)
    POJ 1141 Brackets Sequence(括号匹配二)
    ZOJ 3537 Cake(凸包+区间DP)
    Graham求凸包模板
  • 原文地址:https://www.cnblogs.com/ty-v/p/7880550.html
Copyright © 2020-2023  润新知