zoukankan      html  css  js  c++  java
  • 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 之后。

  • 相关阅读:
    ubuntu 14.04 安装python包psycopg2
    vmare 往 virtualbox迁移
    docker-compose & docker 镜像/加速
    nodejs & npm & gulp 安装和配置
    airflow 优化
    airflow 部署
    windows 上vmare超卡的问题解决方案
    HDU 6781 Solo (贪心 + 优先队列)
    HDU 6779 Drink (最小费用流)
    HDU 6778 Car (状压DP)
  • 原文地址:https://www.cnblogs.com/ty-v/p/7880550.html
Copyright © 2011-2022 走看看