PostgreSQL連接(內連接)

在PostgreSQL中,有以下類型的連接:

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

PostgreSQL INNER JOIN

PostgreSQL內部連接也被稱爲連接或簡單連接。 這是最常見的連接類型。 此連接返回滿足連接條件的多個表中的所有行。

如下圖表示 -
PostgreSQL連接(內連接)

語法:

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

PostgreSQL INNER JOIN示例

表1: EMPLOYEES有以下數據 -
PostgreSQL連接(內連接)

表2: DEPARTMENT有以下數據 -

創建另一個表「DEPARTMENT」並插入以下值。

-- Table: public.department

-- DROP TABLE public.department;

CREATE TABLE public.department
(
  id integer,
  dept text,
  fac_id integer
)
WITH (
  OIDS=FALSE
);
ALTER TABLE public.department
  OWNER TO postgres;

-- 插入數據
INSERT INTO department VALUES(1,'IT', 1);
INSERT INTO department VALUES(2,'Engineering', 2);
INSERT INTO department VALUES(3,'HR', 7);

現在 department 表的數據如下 -
PostgreSQL連接(內連接)

執行以下查詢內連接兩個表:

SELECT EMPLOYEES.ID, EMPLOYEES.NAME, DEPARTMENT.DEPT  
FROM EMPLOYEES   
INNER JOIN DEPARTMENT  
ON EMPLOYEES.ID = DEPARTMENT.ID;

執行上面查詢語句,得到以下結果 -
PostgreSQL連接(內連接)