반응형
조인 정의
2개 이상의 서로 관계에 있는 테이블 내용을 1개의 결과셋으로 만드는 작업
조인의 종류
종류 | 설명 |
등가 조인 | 테이블을 연결한 후 출력 행을 각 테이블의 특정 열에 일치한 데이터를 기준으로 선정하는 방식 내부 조인, 단순 조인으로 부름 |
비등가 조인 | 등가 조인 외의 방식 열의 일치 여부를 알 수 없을 때 사용 (= 연산자를 제외한 연산자를 사용) |
자체 조인 | 하나의 테이블을 여러 개의 테이블처럼 활용하여 조인하는 방식 SELECT문 내부에서 별칭을 다르게 주어 논리적으로 다른 테이블인 것처럼 명시 |
외부 조인 | 어느 한쪽이 NULL이어도 강제로 출력하는 방식 |
실습해보기
우선 테스트를 위해서 두 가지 테이블 생성한다.
CREATE TABLE EMP(
EMPNO INTEGER NOT NULL,
ENAME VARCHAR2(10) NOT NULL,
SAL INTEGER,
DEPTNO INTEGER
);
INSERT INTO EMP VALUES(1001, '두부', 5000, 100);
INSERT INTO EMP VALUES(1002, '강아지', 3000, 100);
INSERT INTO EMP VALUES(1003, '고양이', 2000, 100);
INSERT INTO EMP VALUES(1004, '기린', 7000, 100);
INSERT INTO EMP VALUES(2001, '사자', 2000, 200);
INSERT INTO EMP VALUES(2002, '원숭이', 1500, 200);
INSERT INTO EMP VALUES(2003, '개구리', 1000, 200);
INSERT INTO EMP VALUES(3001, '고래', 5500, 300);
INSERT INTO EMP VALUES(3002, '오리', 6000, 300);
INSERT INTO EMP VALUES(4001, '참새', 8000, 400);
CREATE TABLE DEPT(
DEPTNO INTEGER,
DNAME VARCHAR2(10)
);
INSERT INTO DEPT VALUES(100, '생산');
INSERT INTO DEPT VALUES(200, '행정');
INSERT INTO DEPT VALUES(300, '개발');
INSERT INTO DEPT VALUES(400, '기타');
1. 등가 조인
SELECT A.EMPNO
, A.ENAME
, A.SAL
, B.DNAME
FROM EMP A, DEPT B
WHERE A.DEPTNO = B.DEPTNO;
2. 비등가 조인
SELECT A.EMPNO
, A.ENAME
, A.SAL
, B.DNAME
FROM EMP A, DEPT B
WHERE A.DEPTNO BETWEEN 100 AND 200;
3. 자체 조인
SELECT A.컬럼
, B.컬럼
.
.
.
FROM EMP A, EMP B
WHERE A.컬럼 = B.컬럼
4. 외부 조인
INSERT INTO EMP VALUES(5001, '돼지', 15000, 600);
SELECT A.EMPNO
, A.ENAME
, A.SAL
, B.DNAME
FROM EMP A, DEPT B
WHERE A.DEPTNO = B.DEPTNO(+);
반응형
'개발 & 데이터베이스 > DB' 카테고리의 다른 글
오라클 결과값을 버림하여 출력하는 TRUNC 함수 (0) | 2022.02.23 |
---|---|
오라클 자주 발생하는 에러 종류 및 해결 방법 (0) | 2022.02.20 |
오라클 숫자 함수와 LPAD, RPAD 함수 (0) | 2022.02.07 |
오라클 DML 기본문법 (INSERT, UPDATE, DELETE, SELECT) (0) | 2022.02.03 |
오라클 자료형 변환 함수 TO_CHAR, TO_DATE와 DECODE함수, CASE문 (0) | 2022.01.29 |