zoukankan      html  css  js  c++  java
  • SQL OUTER JOIN

    When we want to select out all the record from two table, no matter it's present at second table or not, we will have to use SQL OUTER JOIN command.

    There are 3 type of OUTER JOIN, which is:
    LEFT OUTER JOIN
    RIGHT OUTER JOIN
    FULL OUTER JOIN

    SQL OUTER JOIN syntax:

    SELECT *
    FROM [TABLE 1] OUTER JOIN [TABLE 2]
    ON [TABLE 1].[COLUMN NAME 1] = [TABLE 2].[COLUMN NAME 2]


    EXAMPLE :

    Let's say we got 2 tables containt data like Below:

    Table 1: GameScores

    PlayerName DepartmentId Scores
    Jason 1 3000
    Irene 1 1500
    Jane 2 1000
    David 2 2500
    Paul 3 2000
    James 4 2000

    Table 2: Departments

    DepartmentId DepartmentName
    1 IT
    2 Marketing
    3 HR
    5 QA

    LEFT OUTER JOIN will return all records from the first table,
    SQL statement and Result for LEFT OUTER JOIN is :

    SELECT * FROM GameScores2
    LEFT OUTER JOIN Departments
    ON GameScores2.DepartmentId = Departments.DepartmentId

    Result:

    PlayerName DepartmentId Scores DepartmentId DepartmentName
    Jason 1 3000 1 IT
    Irene 1 3000 1 IT
    Jane 2 3000 2 Marketing
    David 2 3000 2 Marketing
    Paul 3 3000 3 HR
    James 4 2000 NULL NULL

    RIGHT OUTER JOIN will return all records from the second table,
    SQL statement and Result for RIGHT OUTER JOIN is :

    SELECT * FROM GameScores2
    RIGHT OUTER JOIN Departments
    ON GameScores2.DepartmentId = Departments.DepartmentId

    Result:

    PlayerName DepartmentId Scores DepartmentId DepartmentName
    Jason 1 3000 1 IT
    Irene 1 3000 1 IT
    Jane 2 3000 2 Marketing
    David 2 3000 2 Marketing
    Paul 3 3000 3 HR
    NULL NULL NULL 5 QA

    FULL OUTER JOIN will return all records from all tables,
    SQL statement and Result for FULL OUTER JOIN is :

    SELECT * FROM GameScores2
    FULL OUTER JOIN Departments
    ON GameScores2.DepartmentId = Departments.DepartmentId

    Result:

    PlayerName DepartmentId Scores DepartmentId DepartmentName
    Jason 1 3000 1 IT
    Irene 1 3000 1 IT
    Jane 2 3000 2 Marketing
    David 2 3000 2 Marketing
    Paul 3 3000 3 HR
    James 4 2000 NULL NULL
    NULL NULL NULL 5 QA
  • 相关阅读:
    asp.net图片上传代码
    C#(同步调用、异步调用、异步回调)
    跨线程的控件调用
    C# ListView用法详解 很完整
    获取dataGridView双击时判断双击的是下面的行,还是列头
    加密解密类
    C# 中DataGridView 绑定List<T>做数据源的操作问题
    C#获取当前程序集的完整路径
    接口测试-小结
    接口测试用例
  • 原文地址:https://www.cnblogs.com/zhoug2020/p/3327808.html
Copyright © 2011-2022 走看看