* 카티션 곱:
- 조인 조건이 누락되면 카티션 곱 집합이 생성됨
- 의도적으로 카티션 곱 집합을 만들기도 하지만, 실수로 조인 조건을 누락하는 경우도 있으므로 주의 필요
* INNER JOIN 절
- ON 절에 조인 조건을 기술하며, 일반 조건은 WHERE 절에 기술할 수 있음
조인 조건과 일반 조건을 분리하여 가독성을 향상시킬 수 있음
* NATURAL JOIN 절
- 이름이 같은 열로 테이블을 등가 조인함
* USING 절
- [USING 절에 지정한 칼럼 기준]으로 테이블을 등가 조인 함
- 지정한 열을 조인할 테이블에 동일한 이름으로 존재해야 함
- USING 절에 지정한 칼럼을 ALIAS 등으로 한정할 수 없음
- USING 절의 열 부분은 식별자를 가질 수 없음
* OUTER JOIN 절
- 아우터 기준에 따라 LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN 을 사용할 수 있음
* 단일 행 서브 쿼리
- 결과를 비교 연산자(=, <, >, <=, >=, <>)로 비교함
- 단일 행 서브 쿼리에서 1행 이상의 결과가 반환되면 에러 발생
* RANK 분석 함수는 동일 순위를 허용하므로 서브 쿼리에서 다중 행이 반환될 수 있음
* 상관 서브 쿼리의 칼럼을 테이블 별칭으로 한정하지 않으면
서브 쿼리 테이블의 칼럼을 우선적으로 검색함
* 스칼라 서브 쿼리
- 단일 열만 반환할 수 있음
- 여러 열을 반환하려면 값을 결합한 후 다시 분리하는 방식 사용해야 함
* 스칼라 서브 쿼리를 인라인 뷰로 전환하는 경우
- ROLLUP: 지정한 표현식의 계층별 소계와 총계를 집계함
- CUBE: 지정한 표현식의 모든 조합을 집계함
- GROUPING SETS: 지정한 행 그룹으로 행을 집계함
* RANK 함수
- 이어진 ORDER BY 절 (order-by-clause) 에 따른 순위를 반환
- 정렬 값이 동일하면 동순위를 부여하고, 다음 순위는 동순위의 수만큼 건너뜀
- WINDOWING 절의 기본값이 RANGE UNBOUNDED PRECEDING 이므로
동일 값이 동일 윈도우로 처리됨
* SELECT 문의 처리 순서:
- FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> GROUP BY
* SQL Server 에서 사용할 수 있는 TOP 절의 구문:
- TOP (expression) [PERCENT] [WITH TIES]
여기서
>> expression: 반환할 행의 개수나 백분율을 지정
PERCENT: 백분율만큼 행을 반환
WITH TIES: 마지막 행에 대한 동순위를 포함해서 반환
'IT > SQL' 카테고리의 다른 글
[MySQL] GROUP BY 사용법 (0) | 2024.03.09 |
---|---|
[MySQL] JSON_TABLE (0) | 2023.09.14 |
SQLD 내용 정리 4 (0) | 2021.04.11 |
SQLD 내용 정리2 (0) | 2021.03.28 |
SQLD 내용 정리1 (0) | 2021.03.21 |