티스토리 뷰
* 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 연산자 (정보부재)