일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Notice
Tags
- INSERT
- 직장생활
- 전생
- null
- Update
- ROWNUM
- 30일글쓰기
- 직장인일기
- SQLD
- constraint
- 일기
- 데이터모델링
- 회사생활
- 빅데이터
- Drop
- rename
- 도전
- 책리뷰
- ERD
- 30일챌린지
- 테이블삭제
- 인덱스
- data
- 환생
- SQL
- 넷플릭스
- 홈트
- 회사싫어
- 보울룸
- where절
Archives
- Today
- Total
최보름달
[SQL] STANDARD SQL, 집합 연산자 본문
STANDARD SQL
벤더별로 기능이 다른 것을 표준을 제정하여 기준으로 삼고 있다.
ANSI/ISO 표준 SQL 기능은 다음 내용을 포함한다.
- SRANDARD JOIN 기능 추가 (CROSS, OUTER JOIN 등 새로운 FROM절 JOIN 기능 들)
- SCALAR SUBQUERY, TOP-N QUERY 등 새로운 SUBQUERY 기능들
- ROLLUP, CUBE, GROUPING SETS 등 새로운 리포팅 기능
- WINDOW FUNCTION 같은 새로운 분석 기능들
일반 집합 연산자
현재 사용하는 SQL의 많은 기능은 관계형 데이터베이스 이론을 수립한 E.F Codd박사의 논문에 언급이 되어 있다.
당시 논문에 기재된 집합 연산자를 현재 SQL과 비교하면 다음과 같디ㅏ.
일반 집합 연산자 -> 현재 SQL 연산자
UNION -> UNION
INTERSECTION -> INTERSECT
DIFFERENCE -> EXCEPT (오라클은 MINUS)
PRODUCT -> CROSS JOIN
으로 구현되어 있다.
UNION
합집합을 확인할 때 사용하는 연산자.
이후 UNION ALL 기능이 추가되었는데, 공통집합을 중복해서 보여주기 때문에 정렬 작업이 일어나지 않아 속도 측면의 장점이 있다.
UNION과 UNION ALL 의 출력 결과가 같다면 UNION ALL 을 사용하라.
INTERSECTION
교집합을 찾는 연산자
DIFFERENCE
차집합을 찾는 연산자.
공통집합을 제외한 부분.
대다수 벤더는 EXCEPT, 오라클은 MINUS 용어를 사용한다.
PRODUCT
곱집합.
JOIN 조건이 없는 경우 생길 수 있는 모든 데이터의 조합을 말한다.
양쪽 집합의 M * N 건의 데이터 조합이 발생한다.
순수 관계 연산자
SELECT -> WHERE 절
PROJECT -> SELECT
(NATURAL) JOIN -> 다양한 JOIN 기능으로 구현되었음.
DIVIDE -> 현재 사용하지 않음.
kdata 한국데이터진흥원에서 출간한 SQL 전문가 가이드 2013 Edition을 요약했습니다.
'문송한 회사생활 > SQL 공부' 카테고리의 다른 글
[SQL] INNER JOIN, NATURAL JOIN (0) | 2020.08.15 |
---|---|
[SQL] FROM절의 JOIN (0) | 2020.08.15 |
[SQL] JOIN, EQUI JOIN, Non EQUI JOIN, 3개 이상 테이블 조인 (0) | 2020.08.15 |
[SQL] ROWNUM, TOP() (0) | 2020.08.14 |
[SQL] SELECT 문장 실행 순서 (0) | 2020.08.14 |