zoukankan      html  css  js  c++  java
  • 高级查询

    1.关联查询

    作用:可以跨越多表查询

    语法:

    select 列,列,列

    from 表1 join 表2

    on 表1外键=表2主键

    2.外联接

    左外联[left outer join]

    以关联的左边为准,即使右边没有与之匹配的记录,则左边的记录也要

    出现在结果集中,右边全部以NULL值显示。

    右外联[right outer join]

    以关联的右边为准,即使左边没有与之匹配的记录,则右边的记录也要

    出现在结果集中,左边全部以NULL值显示。

    自关联:

    -- 查询出所有的员工名以及员工的上司名

    select e.first_name,m.first_name from s_emp e left join s_emp m on e.manager_id = m.id;

    注:关联的条件不一定总是做等值比较的。

    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 之后。

  • 相关阅读:
    关于oc中自动引用计数 小结
    xcode6中导航栏 控制view用程序编写
    oc中深拷贝与浅拷贝
    关于c语言 指针课堂随笔
    oc中设置手动引用和自动引用图解
    利用xcode6做出牛的一逼的计算器
    利用xcode6 使用代码写出英格兰国旗
    oc中字典的应用详解
    c和oc排序程序与见解
    关于Xcode6beta2 新学者使用 工程的建立
  • 原文地址:https://www.cnblogs.com/wangqun1234/p/7815524.html
Copyright © 2011-2022 走看看