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
  • 相关阅读:
    mavenjar 一些拉取不下来问题
    storm运行服务器一些错误解决、
    python操作excel库xlwings---3、写入excel常见操作
    python操作excel库xlwings---2、写入excel基本操作
    python操作excel库xlwings---1、课程介绍
    numpy库常用基本操作
    Numpy库使用总结
    python的xlwings库读写excel操作总结
    numpy中的ndarray与pandas的Series和DataFrame之间的相互转换
    Numpy和Pandas的区别
  • 原文地址:https://www.cnblogs.com/zhoug2020/p/3327808.html
Copyright © 2011-2022 走看看