ORACLE 시계 간 연결 방식

9487 단어 OracleSqlOacle
ORACLE 시계 간 연결 방식
내부 연결
왼쪽 연결
오른쪽 연결
자연 연결
전체 연결
피리 칼 연결
테스트 데이터 생 성
CREATE TABLE TMP_TB_1(
USER_ID   NUMBER(10,0),
USER_NAME VARCHAR2(30),
ADDRESS   VARCHAR2(50)
);

CREATE TABLE TMP_TB_2(
USER_ID   NUMBER(10,0),
USER_NAME VARCHAR2(30),
U_ADDRESS   VARCHAR2(50)
);

--     
INSERT INTO TMP_TB_1 VALUES (1,'  ','    ');
INSERT INTO TMP_TB_1 VALUES (2,'  ','    ');
INSERT INTO TMP_TB_1 VALUES (3,'  ','   ');
INSERT INTO TMP_TB_1 VALUES (4,'  ','  ');
INSERT INTO TMP_TB_1 VALUES (7,'  ','   ');
INSERT INTO TMP_TB_1 VALUES (8,'   ','   ');
SELECT * FROM TMP_TB_1;

--     
INSERT INTO TMP_TB_2 VALUES (1,'  ','    ');
INSERT INTO TMP_TB_2 VALUES (2,'  ','    ');
INSERT INTO TMP_TB_2 VALUES (3,'   ','   ');
INSERT INTO TMP_TB_2 VALUES (5,'  ','  ');
INSERT INTO TMP_TB_2 VALUES (6,'  ','  ');
SELECT * FROM TMP_TB_2;

1 내부 연결
SELECT A.*,B.*
  FROM TMP_TB_1 A, TMP_TB_2 B
  WHERE A.USER_ID = B.USER_ID;

SELECT A.*,B.*
  FROM TMP_TB_1 A JOIN TMP_TB_2 B
    ON A.USER_ID = B.USER_ID;

SELECT A.*,B.*
  FROM TMP_TB_1 A INNER JOIN TMP_TB_2 B
    ON A.USER_ID = B.USER_ID;

2. 왼쪽 외 접속
SELECT A.*,B.*
  FROM TMP_TB_1 A, TMP_TB_2 B
  WHERE A.USER_ID = B.USER_ID(+);

SELECT A.*,B.*
  FROM TMP_TB_1 A 
  LEFT JOIN TMP_TB_2 B
    ON A.USER_ID = B.USER_ID;

SELECT A.*,B.*
  FROM TMP_TB_1 A 
  LEFT OUTER JOIN TMP_TB_2 B
    ON A.USER_ID = B.USER_ID;

필터 조건 이 있 는 왼쪽 (외) 연결
--       
SELECT A.*,B.*
  FROM TMP_TB_1 A, TMP_TB_2 B
  WHERE A.USER_ID = B.USER_ID(+)
    AND B.U_ADDRESS(+) = '    ';

SELECT A.*,B.*
  FROM TMP_TB_1 A 
  LEFT JOIN TMP_TB_2 B
    ON A.USER_ID = B.USER_ID
    AND B.U_ADDRESS = '    ';

--               
SELECT A.*,B.*
  FROM TMP_TB_1 A, TMP_TB_2 B
  WHERE A.USER_ID = B.USER_ID(+)
    AND B.U_ADDRESS = '    ';

SELECT A.*,B.*
  FROM TMP_TB_1 A 
  LEFT JOIN TMP_TB_2 B
    ON A.USER_ID = B.USER_ID
 WHERE B.U_ADDRESS = '    ';

3. 오른쪽 (밖) 과 왼쪽 (밖) 을 연결 합 니 다.
4 자연 연결
 SELECT *
  FROM TMP_TB_1 A 
  NATURAL JOIN TMP_TB_2 B;

5 전 (외) 연결
 SELECT *
  FROM TMP_TB_1 A 
  FULL JOIN TMP_TB_2 B
   ON A.USER_ID = B.USER_ID AND A.USER_NAME = B.USER_NAME;

  SELECT *
  FROM TMP_TB_1 A 
  FULL OUTER JOIN TMP_TB_2 B
   ON A.USER_ID = B.USER_ID;

 SELECT *
  FROM TMP_TB_1 A 
  FULL JOIN TMP_TB_2 B
   ON A.USER_ID = B.USER_ID AND A.USER_NAME = B.USER_NAME;

6 피리 칼 적
SELECT *
  FROM TMP_TB_1 A, TMP_TB_2 B;

 SELECT *
  FROM TMP_TB_1 A 
  CROSS JOIN TMP_TB_2 B;

좋은 웹페이지 즐겨찾기