티스토리 뷰

반응형

* JOIN

1.개념

- SQL 언어에서 제공하는 조인(join)은 하나의 sql 명령문으로 여러 테이블에 저장된 데이터를 한번에 검색 할 수 있는 강렬한 기능이다. 

- 잘못사용하면 오히려 질의 처리 성능 저하시키는 경우도 발생함.

- 두개 테이블을 연결하는 조인 속성이 이있어야함.

2. 조인에서 속성명 중복 해결방법

- 테이블.속성명 (점)으로 구분하여 사용한다. 



*조인의 종류

1. CROSS JOIN -> 카티션 프로덕트

-조인된 테이블 사이에 조건이 걸리지 않을 경우에 발생하며, 테이블간의 모든 경우의 수에 대하여 로우가 생성되는 조인 방식이다.

-CROSS JOIN은 실제 많이 사용하지는 않지만, SQL 성능 튜닝에 사용하기도 한다.

-사용예

 1) select * from 부서, 사원;

 2 select * from 부서 cross join 사원


2. INNER JOIN : 내부 조인 -> JOIN

- 우리가 일반적으로 부르는 조인은 내부 조인을 의미한다.

1) select 부서, 부서번호, 부서명, 사원이름 from 부서, 사원 where 부서.부서번호=사원.부서번호;

2) select 부서, 부서번호, 부서명, 사원이름 from 부서 inner join 사원 on 부서.부서번호=사원.부서번호;

   -> inner 생략가능

3 )select 부서, 부서번호, 부서명, 사원이름 from 부서 natural join 사원;


3. OUTER JOIN : 외부 조인

- 외부조인은 조인되는 A테이블에서  B테이블에 연결되는 컬럼값이 존재하지 않더라도 (즉, NULL값) A 테이블의 데이터를 가져올 수 있는 조인방법이다.

- 오라클에서는 외부 조인을 위해 (+) 기호를 이용한다. ms-sql에서는 (*)기호를 사용한다.

-종류

1) LEFT OUTER JOIN

2)RIGHT OUTER JOIN

3)FULL OUTER JOIN


4.SELF JOIN : 셀프조인

- 자신의 테이블이 두개 있다고 가정한다.


* IN 키워드 사용법 

(일반적으로 다중값의 의미를 갖는다.)

-사용예

1) select * from 수강생 where 과목='컴활' OR 과목='워드';

2)  select * from 수강생 where  과목 IN ('컴활', '워드')


* CHECK

- 허용 가능한 데이터의 범위나 조건을 지정하는 제약조건

- VALUE IN 사용

- CONSTRAINT 키워드 : 데이터베이스에 저장된 데이터의 정확성을 보장하기 위해 정확하지 않은 데이터가 데이터베이스 내에 저장되는 것을 방지 하기 위한 것.


* LIKE 연산자

- 사용자가 데이터 값을 정확하게 모르는 경우에 유용하게 사용할 수 있는 것이  like 연산자이다.


1) like '김%' - '김'으로 시작하는 값 ( 예 : 김유신, 김철수)

2) like '%유%' - 문자열에 '유'가 들어가는 값 (예 : 김유신, 이유는)

3) like '김_ _' - '김'으로 시작하고 뒤에 두글자인 값 (예 : 김유신, 김수로)

4) like '_유%' - 두번째 위치에 '유'가 들어가는 값 (예 : 김유정, 이유리)


* IS NULL 연산자 (정보부재)










반응형
댓글