zoukankan      html  css  js  c++  java
  • full join ,left join ,right join,inner join

    full join ,left join ,right join,inner join

    一、full  join 

    ----- full join
    SELECT A.*, B.*
      FROM (SELECT 0 AS T1
              FROM DUAL
            UNION
            SELECT 1 AS T1
              FROM DUAL
            UNION
            SELECT 2 AS T1
              FROM DUAL
            UNION
            SELECT 3 AS T1 FROM DUAL) A
      FULL JOIN (SELECT 4 AS T1
                   FROM DUAL
                 UNION
                 SELECT 3 AS T1 FROM DUAL) B
        ON A.T1 = B.T1

    二、left  join 

    ---- left join 
    
    SELECT A.*, B.*
      FROM (SELECT 0 AS T1
              FROM DUAL
            UNION
            SELECT 1 AS T1
              FROM DUAL
            UNION
            SELECT 2 AS T1
              FROM DUAL
            UNION
            SELECT 3 AS T1 FROM DUAL) A
      LEFT JOIN (SELECT 4 AS T1
                   FROM DUAL
                 UNION
                 SELECT 3 AS T1 FROM DUAL) B
        ON A.T1 = B.T1
    
    ----相当于
    
    SELECT A.*, B.*
      FROM (SELECT 0 AS T1
              FROM DUAL
            UNION
            SELECT 1 AS T1
              FROM DUAL
            UNION
            SELECT 2 AS T1
              FROM DUAL
            UNION
            SELECT 3 AS T1 FROM DUAL) A,
           (SELECT 4 AS T1
              FROM DUAL
            UNION
            SELECT 3 AS T1 FROM DUAL) B
     WHERE A.T1 = B.T1(+)
      

    三、rightjoin 

    ---- right join 
    
    SELECT A.*, B.*
      FROM (SELECT 0 AS T1
              FROM DUAL
            UNION
            SELECT 1 AS T1
              FROM DUAL
            UNION
            SELECT 2 AS T1
              FROM DUAL
            UNION
            SELECT 3 AS T1 FROM DUAL) A
      RIGHT JOIN (SELECT 4 AS T1
                   FROM DUAL
                 UNION
                 SELECT 3 AS T1 FROM DUAL) B
        ON A.T1 = B.T1
    
    ----相当于
    
    SELECT A.*, B.*
      FROM (SELECT 0 AS T1
              FROM DUAL
            UNION
            SELECT 1 AS T1
              FROM DUAL
            UNION
            SELECT 2 AS T1
              FROM DUAL
            UNION
            SELECT 3 AS T1 FROM DUAL) A,
           (SELECT 4 AS T1
              FROM DUAL
            UNION
            SELECT 3 AS T1 FROM DUAL) B
     WHERE A.T1(+) = B.T1

    四、inner  join 

    ---- inner join 
    
    SELECT A.*, B.*
      FROM (SELECT 0 AS T1
              FROM DUAL
            UNION
            SELECT 1 AS T1
              FROM DUAL
            UNION
            SELECT 2 AS T1
              FROM DUAL
            UNION
            SELECT 3 AS T1 FROM DUAL) A
      INNER JOIN (SELECT 4 AS T1
                   FROM DUAL
                 UNION
                 SELECT 3 AS T1 FROM DUAL) B
        ON A.T1 = B.T1
    
    ----相当于
    
    SELECT A.*, B.*
      FROM (SELECT 0 AS T1
              FROM DUAL
            UNION
            SELECT 1 AS T1
              FROM DUAL
            UNION
            SELECT 2 AS T1
              FROM DUAL
            UNION
            SELECT 3 AS T1 FROM DUAL) A,
           (SELECT 4 AS T1
              FROM DUAL
            UNION
            SELECT 3 AS T1 FROM DUAL) B
     WHERE A.T1 = B.T1
  • 相关阅读:
    使用委派代替继承
    《重构,改善既有代码的设计》读书笔记
    理解C指针: 一个内存地址对应着一个值
    C#实现窗口最小化到系统托盘
    C#中访问私有成员--反射
    不要在构造函数中调用可重写的方法
    链表解决约瑟夫环问题
    C数据结构(文件操作,随机数,排序,栈和队列,图和遍历,最小生成树,最短路径)程序例子
    java this,super简单理解
    数据与计算机通信习题
  • 原文地址:https://www.cnblogs.com/wml-it/p/13650610.html
Copyright © 2011-2022 走看看