상세 컨텐츠

본문 제목

[MySQL] Join의 종류 | sub query

IT/DataBase

by o_zeew 2024. 5. 1. 17:49

본문

24.05.01 53일차

 

 

Join

열병합

 

 

 

정규화

정규화의 최종 목적은 비정규화

 - 중복데이터 X

 - null X

 - 하나의 컬럼에는 하나의 의미만 저장 (하나의 컬럼에 '서울 남자' 불가능 / 지역, 성별로 나누기)

 

비정규화

분리되어있는 테이블을 필요에 따라 다시 합치는 것(효율성)

 

Join의 종류

- cross join

 - equi join : 동일

 - non-equi join : 동일하지 않음

 - inner join(self join)

 - outer join

   - left outer join : join 여부와 상관 없이 왼쪽에 있는 모든 데이터

   - right outer join : join 여부와 상관 없이 오른쪽에 있는 모든 데이터

   - full outer join

 

 

employees : 23 / offices : 7

 

 

5) contactLastName(Brown)이고 contactFirstName(Ahn) 지불정보(payments) 조회

customers와 payments의 공통분모는 customerNumber > join 부분

customers
payments

 

 

 

Outer join

join은 키 값이 같거나 다른 값을 연결하여 조회하기 때문에 비교되는 키에 누락되는 데이터는 조회 X

어느 한쪽의 테이블 자료는 무조건 조회되도록 하여 누락 방지 > outer join

 

 

sub query

- () 안에 기술

 - 독립적인 실행이 되어야함

 - select절, where절, from절에서 사용 가능하다

 

 * where amt > any (sub query) : amt는 sub query의 최소값보다 크면 true

 * where amt < any (sub query) : amt는 sub query의 최대값보다 작으면 true

 * where amt > all (sub query) : amt는 sub query의 최대값보다 크면 true

 * where amt < all (sub query) : amt는 sub query의 최소값보다 작으면 true

 

 

관련글 더보기