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
  • 相关阅读:
    学习制作操作系统 0
    阅读《C陷阱与缺陷》的知识增量
    CSS 优先级和特指度
    openCV2马拉松第19圈——Harris角点检測(自己实现)
    Cacti监控mysql数据库server实现过程
    ledisdb:支持类redis接口的嵌入式nosql
    03005_SQL查询语句
    通过smtp直接发送邮件
    XML 解析默认去掉命名空间和注释
    C# /VB.NET 创建PDF项目符号列表和多级编号列表
  • 原文地址:https://www.cnblogs.com/zhoug2020/p/3327808.html
Copyright © 2011-2022 走看看