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');  --多插入一条数据方便演示外关联

oracle 内关联,左外关联,右外关联,全外关联_第1张图片

内连接(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;

oracle 内关联,左外关联,右外关联,全外关联_第2张图片

外连接(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(+); 
--关联条件字段加了(+)的为从表,不加(+)的为主表,从表的每个字段都要加(+)

oracle 内关联,左外关联,右外关联,全外关联_第3张图片

  • 右外关联
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;

oracle 内关联,左外关联,右外关联,全外关联_第4张图片

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

oracle 内关联,左外关联,右外关联,全外关联_第5张图片

  • 申明: 仅用于学习,不涉及其他用途。该举例为了方便理解,不喜勿喷哦~

你可能感兴趣的:(oracle,oracle,sql,sqlserver,mysql)