zoukankan      html  css  js  c++  java
  • Oracle外连接与条件的组合

    由于很少使用SQL 92语法,今天写个outer join的时候被搞晕了。参考了一些例子后整理如下。总结,“inter join on”中的条件是对table进行joining的record 进行filter, 而where 对结果集进行filter。

    Table A:

    Key    Value
    1        A1

    2        A2

    3        A3

    Table B:

    Key    Value

    1        B1

    2        B2

    4        B4

    --============================

    select A.*, B.* from A outer join B

    on A.key = b.key;

    Key   Value   Key   Value

    1        A1        1       B1

    2        A2        2       B2

    3        A3  

    /* 普通的A outer join B */

    --============================

    select A.*, B.* from A outer join B

    on A.key = b.key

     and A.key = '1';

    Key   Value   Key   Value

    1        A1        1       B1

    2        A2

    3        A3  

    /* A 只有记录 key='1' 参与了outer join,其他记录保留在结果中 */

    --============================

    select A.*, B.* from A outer join B

    on A.key = b.key

     and A.key = '1'

    where A.key <> '3' ;

    Key   Value   Key   Value

    1        A1        1       B1

    2        A2

    /* A 只有记录 key='1' 参与了outer join,结果中有条件 key <> '3' */

  • 相关阅读:
    软件杯华为ModelArts平台
    软件杯第一阶段博客
    《系统架构》阅读笔记05
    第11周周博客
    测试面试题
    杭电2014 (第一次用vector ac题目)
    杭电 2013 猴子吃桃 递归解法&循环解法
    杭电2012 质数问题
    杭电2629 Identity Card
    杭电1170
  • 原文地址:https://www.cnblogs.com/pekkle/p/6568826.html
Copyright © 2011-2022 走看看