1. 程式人生 > >PostgreSQL應用(四,PostgreSQL連線)

PostgreSQL應用(四,PostgreSQL連線)

在PostgreSQL中,有以下型別的連線:

  • 內連線(INNER JOIN)
  • 左外連線(LEFT OUTER JOIN/LEFT JOIN)
  • 右外連線(RIGHT OUTER JOIN/RIGHT JOIN)
  • 全連線(FULL OUTER JOIN/FULL JOIN)
  • 跨連線(CROSS JOIN)
    一,內連線(INNER JOIN)
    PostgreSQL內部連線也被稱為連線或簡單連線。 這是最常見的連線型別。 此連線返回滿足連線條件的多個表中的所有行。
    關係圖:
    在這裡插入圖片描述
    語法:
    SELECT table1.columns, table2.columns
    FROM table1

    INNER JOIN table2
    ON table1.common_filed = table2.common_field;

建立教師表:
在這裡插入圖片描述

學生表:
在這裡插入圖片描述
示例:
在這裡插入圖片描述

外連線是內聯的延伸,外連線有三種類型。它們分別如下 -左外連線,右外連線,全外連線
二,左外連線(LEFT OUTER JOIN)
左外連線返回從“ON”條件中指定的左側表中的所有行,只返回滿足條件的另一個表中的行,沒有匹配上的項全留為空值。
關係圖:
在這裡插入圖片描述

語法:
SELECT table1.columns, table2.columns
FROM table1
LEFT OUTER JOIN table2
ON table1.common_filed = table2.common_field;

示例:
在這裡插入圖片描述
三,右外連線(RIGHT OUTER JOIN)
右外連線返回從“ON”條件中指定的右側表中的所有行,只返回滿足條件的另一個表中的行。
如下圖中所表示:
語法:
SELECT table1.columns, table2.columns
FROM table1
RIGHT OUTER JOIN table2
ON table1.common_filed = table2.common_field;
關係圖:
在這裡插入圖片描述

示例:
在這裡插入圖片描述
四,全連線(FULL OUTER JOIN)
全外連線從左表和左表中返回所有行。 它將NULL置於不滿足連線條件的位置。
語法:
SELECT table1.columns, table2.columns


FROM table1
FULL OUTER JOIN table2
ON table1.common_filed = table2.common_field;
關係圖:
在這裡插入圖片描述
示例:
在這裡插入圖片描述
五,跨連線(CROSS JOIN)
PostgreSQL跨連線(CROSS JOIN)將第一個表的每一行與第二個表的每一行相匹配。 它也被稱為笛卡爾積。 如果table1具有“x”行,而table2具有“y”行,則所得到的表將具有(x * y)行。
語法:
SELECT coloums
FROM table1
CROSS JOIN table2
示例:
在這裡插入圖片描述