들어가기 전

TB_EMP 사원과 TB_DEPT 부서를 나눠서 DB를 관리하는 이유 ?

: 테이블간 관계를 설정하고 나눠어 사용하는 것으로 이를 관계형 데이터베이스라고한다. 테이블을 분리하여 같은 데이터를 중복 저장하는 것 보다 테이블을 분리하여 한 곳에 저장해두는 것이 저장 용량을 줄이게 되어 효율적이다.

조인 ?

두 테이블을 동시에 조회하여 원하는 컬럼을 지목할 수 있는 것을 조인이라 한다.

Ex) tb_dept 테이블 컬럼 부서명과 tb_emp 테이블 컬럼 사원코드와 사원명을 동시에 조회하고 싶을 때 두 테이블을 조인 !

But, 1. 두 테이블에 공통 컬럼이 존재 시 어떤 테이블 컬럼을 가져올 것인지 지정. 2. 조건절에 공통 컬럼을 기준으로 조인하도록 지정해야 한다.

  1. 두 테이블에 공통 컬럼인 부서코드 표현 ⇒ tb_emp.detp_cd
  2. WHERE tb_emp.dept_cd = tb_dept.dept_cd;

조인의 원리

⇒ 곱하기 연산 ! (=카티시안 프로덕션)

⇒ 가로로 테이블 조인 !

⇒ 공통 컬럼명을 갖게 될 수 있으니 앞에 테이블 지정하여 조회하기(별칭 사용) !

 e = tb_emp테이블 ⇒ e.dept_cd

CROSS JOIN : 가능한 모든 경우의 수를 매칭하여 조회. (중복되어 모두 조인)

SELECT * FROM test_a, test_b;