PostgreSQL應用(四,PostgreSQL連線)
阿新 • • 發佈:2018-11-30
在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
示例: