oracle 內關聯,左外關聯,右外關聯,全外關聯

  • 創建表一USER_TABLE,表二WORKS_LIST
CREATE TABLE USER_TABLE(
USER_ID NUMBER(10),
USER_NAME VARCHAR2(10),
USER_WORKS VARCHAR2(20)
);

CREATE TABLE WORKS_LIST(
USER_NAME VARCHAR2(10),
WORK_CONTENT VARCHAR2(20)
);
  • 插入數據
INSERT INTO USER_TABLE VALUES(1, 'KARRY', '音樂、電影、電視劇');
INSERT INTO USER_TABLE VALUES(2, 'ROY', '音樂、電影、電視劇');
INSERT INTO USER_TABLE VALUES(3, 'JACKSON', '音樂、電影、電視劇');

在這裏插入圖片描述

INSERT INTO WORKS_LIST VALUES('KARRY', '長城');
INSERT INTO WORKS_LIST VALUES('KARRY', '超少年密碼');
INSERT INTO WORKS_LIST VALUES('ROY', '爵跡');
INSERT INTO WORKS_LIST VALUES('ROY', '超少年密碼');
INSERT INTO WORKS_LIST VALUES('JACKSON', '少年的你');
INSERT INTO WORKS_LIST VALUES('JACKSON', '超少年密碼');
INSERT INTO WORKS_LIST VALUES('TFBOYS', 'HEART');  --多插入一條數據方便演示外關聯

在這裏插入圖片描述

內連接(inner join):inner可省略
SELECT * FROM USER_TABLE UT JOIN WORKS_LIST WL ON UT.USER_NAME = WL.USER_NAME;
SELECT * FROM USER_TABLE UT, WORKS_LIST WL WHERE UT.USER_NAME = WL.USER_NAME;

在這裏插入圖片描述

外連接(outer join) :outer可省略

–左外關聯(left outer join)
–右外關聯(right outer join)
–全外關聯(full outer join)

  • 左外關聯
SELECT * FROM USER_TABLE UT LEFT JOIN WORKS_LIST WL ON UT.USER_NAME = WL.USER_NAME;
SELECT * FROM USER_TABLE UT, WORKS_LIST WL WHERE UT.USER_NAME = WL.USER_NAME(+); 
--關聯條件字段加了(+)的爲從表,不加(+)的爲主表,從表的每個字段都要加(+)

在這裏插入圖片描述

  • 右外關聯
SELECT * FROM USER_TABLE UT RIGHT JOIN WORKS_LIST WL ON UT.USER_NAME = WL.USER_NAME;
SELECT * FROM USER_TABLE UT, WORKS_LIST WL WHERE UT.USER_NAME(+) = WL.USER_NAME;

在這裏插入圖片描述

  • 全外關聯
SELECT * FROM USER_TABLE UT FULL OUTER JOIN WORKS_LIST WL ON UT.USER_NAME = WL.USER_NAME;

在這裏插入圖片描述

  • 申明: 僅用於學習,不涉及其他用途。該舉例爲了方便理解,不喜勿噴哦~
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章