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
  • 相关阅读:
    后端程序员必备的 Linux 基础知识+常见命令(近万字总结)
    信息收集流程
    在不影响程序使用的情况下添加shellcode
    使用Zolom内存解析运行python脚本(不落地)
    要点3:输入函数对比与自定义输入方式
    要点2:循环、条件控制
    对等连接和云联网
    上传自定义镜像到腾讯云
    Windows 激活
    MySQL错误(报错)一览表(对照表)
  • 原文地址:https://www.cnblogs.com/zhoug2020/p/3327808.html
Copyright © 2011-2022 走看看