postgres數據庫之連接


一、分類

內連接(INNER JOIN)
    左外連接(LEFT OUTER JOIN)
    右外連接(RIGHT OUTER JOIN)
    全連接(FULL OUTER JOIN)
跨連接(CROSS JOIN)

外連接是內聯的延伸,外連接有三種類型。 --- 右外連接、左外連接 、全連接

二、詳細介紹各種連接

1、內連接(INNER JOIN)

  內連接,又稱簡單連接,最常見的連接類型。這個連接返回滿足條件的多個表中的所有行。

 語法 : 

SELECT table1.columns, table2.columns  
FROM table1  
INNER JOIN table2  
ON table1.common_filed = table2.common_field;

新建一張表 : 

 查詢內連接的兩個表

 

2、左外連接(LEFT OUTER JOIN)

  左外連接返回從“ON”條件中指定的左側表中的所有行,只返回滿足條件的另一個表中的行。

 語法 : 

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

 

3、右外連接(RIGHT OUTER JOIN)

  右外連接返回從“ON”條件中指定的右側表中的所有行,只返回滿足條件的另一個表中的行。

 語法 : 

SELECT table1.columns, table2.columns  
FROM table1  
RIGHT OUTER JOIN table2  
ON table1.common_filed = table2.common_field;

 注意 : department 只有三條數據,而employees有多條數據,所以都能滿足department的要求!!

 

4、全連接(FULL OUTER JOIN)

  FULL外連接從LEFT手表和RIGHT表中返回所有行。 它將NULL置於不滿足連接條件的位置。

 語法 : 

SELECT table1.columns, table2.columns  
FROM table1  
FULL OUTER JOIN table2  
ON table1.common_filed = table2.common_field;

 注意 : 沒有配置值的全部為空 

 

5、跨連接(CROSS JOIN)

  PostgreSQL跨連接(CROSS JOIN)將第一個表的每一行與第二個表的每一行相匹配。 它也被稱為笛卡兒積分。 如果table1具有“x”列,而table2具有“y”列,則所得到的表將具有(x + y)列。

語法 : 

 SELECT coloums   
FROM table1   
CROSS JOIN table2

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM