zoukankan      html  css  js  c++  java
  • SQL 的各种 join 用法

    作者丨C.L. Moffatt

    http://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins

      I am going to discuss seven different ways you can return data from two relational tables. I will be excluding cross Joins and self referencing Joins. The seven Joins I will discuss are shown below:

    1. INNER JOIN
    2. LEFT JOIN
    3. RIGHT JOIN
    4. OUTER JOIN
    5. LEFT JOIN EXCLUDING INNER JOIN
    6. RIGHT JOIN EXCLUDING INNER JOIN
    7. OUTER JOIN EXCLUDING INNER JOIN

    下图展示了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种用法。

    具体分解如下:

    1.INNER JOIN(内连接)

    SELECT < select_list > FROM Table_A A INNER JOIN Table_B B ON A.Key = B.Key

    2.LEFT JOIN(左连接)

    SELECT < select_list > FROM Table_A A LEFT JOIN Table_B B ON A.Key = B.Key

    3.RIGHT JOIN(右连接)

    SELECT < select_list > FROM Table_A A RIGHT JOIN Table_B B ON A.Key = B.Key

    4.OUTER JOIN(外连接)

    SELECT < select_list > FROM Table_A A FULL OUTER JOIN Table_B B ON A.Key = B.Key

    5.LEFT JOIN EXCLUDING INNER JOIN(左连接-内连接)

    SELECT < select_list > FROM Table_A A LEFT JOIN Table_B B ON A.Key = B.Key WHERE B.Key IS NULL

    6.RIGHT JOIN EXCLUDING INNER JOIN(右连接-内连接)

    SELECT < select_list >
      FROM Table_A A
     RIGHT JOIN Table_B B
        ON A.Key = B.Key
     WHERE A.Key IS NULL

    7.OUTER JOIN EXCLUDING INNER JOIN(外连接-内连接)

    SELECT < select_list >
      FROM Table_A A
      FULL OUTER JOIN Table_B B
        ON A.Key = B.Key
     WHERE A.Key IS NULL
        OR B.Key IS NULL
  • 相关阅读:
    用户管理的设计--3.jquery的ajax实现二级联动
    用户管理的设计--2.新增用户信息实现
    用户管理的设计--1.首页查询功能实现
    使用ajax实现简单的带百分比进度条
    python && java
    es6 modules 和commonjs
    es6 promise
    CSS“隐藏”元素的几种方法的对比
    jquery extend
    html5自定义属性
  • 原文地址:https://www.cnblogs.com/BillyYoung/p/10435222.html
Copyright © 2011-2022 走看看