【Oracle】多表连接查询——内连接、左连接、右连接、全连接(外连接)、完全连接

--内连接

说明:查询表A, 表B中所有符合WHERE条件的结果

 

范例:
SELECT A.ETM_ENTY_SUB_TYPE_INDC, B.EYD_ENTY_SRNO
  FROM TRDX_ENTITY_TYPE_MASTER A, TRDX_ENTITY_TYPE_DTLS B
 WHERE A.ETM_ENTY_SUB_TYPE_INDC = B.EYD_ENTY_SUB_TYPE_INDC
 ORDER BY B.EYD_ENTY_SRNO;

 


--左连接

说明:以表A为主,查询表A中所有数据以及表B中所有符合WHERE条件的结果

 

范例:
SELECT A.ETM_ENTY_SUB_TYPE_INDC, B.EYD_ENTY_SRNO
  FROM TRDX_ENTITY_TYPE_MASTER A, TRDX_ENTITY_TYPE_DTLS B
 WHERE A.ETM_ENTY_SUB_TYPE_INDC = B.EYD_ENTY_SUB_TYPE_INDC(+)
 ORDER BY B.EYD_ENTY_SRNO;


--右连接

说明:以表B为主,查询表B中所有数据以及表A中所有符合WHERE条件的结果

 

范例:

SELECT A.ETM_ENTY_SUB_TYPE_INDC, B.EYD_ENTY_SRNO
  FROM TRDX_ENTITY_TYPE_MASTER A, TRDX_ENTITY_TYPE_DTLS B
 WHERE A.ETM_ENTY_SUB_TYPE_INDC(+) = B.EYD_ENTY_SUB_TYPE_INDC
 ORDER BY B.EYD_ENTY_SRNO;


--全连接

说明:查询左连接和右连接的所有结果。【Here maybe have mistake】

 

范例:

SELECT A.ETM_ENTY_SUB_TYPE_INDC, B.EYD_ENTY_SRNO
  FROM TRDX_ENTITY_TYPE_MASTER A, TRDX_ENTITY_TYPE_DTLS B
 WHERE A.ETM_ENTY_SUB_TYPE_INDC = B.EYD_ENTY_SUB_TYPE_INDC(+)
UNION
SELECT A.ETM_ENTY_SUB_TYPE_INDC, B.EYD_ENTY_SRNO
  FROM TRDX_ENTITY_TYPE_MASTER A, TRDX_ENTITY_TYPE_DTLS B
 WHERE A.ETM_ENTY_SUB_TYPE_INDC(+) = B.EYD_ENTY_SUB_TYPE_INDC
 ORDER BY EYD_ENTY_SRNO;

 

--完全连接

说明:就是笛卡儿积,不带where条件,此处不做范例。

你可能感兴趣的:(oracle)