작성자: 16기 노연수
본 게시글은 datacamp의 Data Manipulation in SQL 강의를 기반으로 작성되었습니다.
- Case 문은 WHEN, THEN, ELSE로 구성됨
WHEN 절은 주어진 조건을 테스트하고, 주어진 조건이 TRUE이면 THEN 절 뒤에 지정한 값을 반환한다. 모든 WHEN 절의 조건이 참이 아닌 경우 ELSE 뒤에 지정된 값을 반환한다. 마지막으로 END을 적고 지정할 이름을 AS 뒤에 작성한다. CASE 문에서 여러 논리 조건을 테스트하려면 WHEN 절 내에서 AND를 사용할 수 있다.
별칭을 제외한 전체 CASE 문을 WHERE에 포함한 다음, 포함하거나 제외할 항목을 지정한다. 아래 CASE 문을 보면 NULL이 아닌 행을 유지하는 경우이다.
- CASE 문은 Categorizing data, Filtering data, Aggregating data에 활용될 수 있어 COUNT, SUM, AVG와 같은 집계 함수 안에 포함하여 작성할 수 있다.
- COUNT
- SUM, AVG
- ROUND
Subquery
: Subquery는 다른 쿼리 안에 중첩된 쿼리이며, intermediary transformations에 유용하다.
- SELECT, FROM, WHERE, GROUP BY와 같은 쿼리의 모든 부분에 배치할 수 있다.
- 위치는 최종 데이터의 모양에 따라 다르다.
- 스칼라 수량, 리스트, 테이블 등을 반환할 수 있다.
- Subqueries를 이용하면 요약된 값을 비교할 수 있고, 데이터를 더 잘 구조화하거나 재구성할 수 있으며, join할 수 없는 테이블의 데이터를 결합할 수 있다.
Simple subqueries
: 다른 쿼리 내부에 중첩된 쿼리인데 자체적으로 실행하여 결과를 얻을 수 있는 쿼리
- 간단한 하위 쿼리도 전체 쿼리에 대해 한 번 평가된다. 하위 쿼리 내부의 정보를 처리하고 필요한 정보를 찾은 다음 OUTER 쿼리의 정보 처리로 이동한다.
- FROM 문의 하위 쿼리는 데이터를 재구성하고 변환하는데 강력하며, 데이터를 다른 모양으로 변환하거나 계산하기 전에 미리 필터링할 수 있다.
- FROM의 하위 쿼리는 집계 정보의 집계를 계산할 때 유용하다.
- 기본 쿼리의 FROM 문에서 두 개 이상의 하위 쿼리를 만들 수 있으며, 각 하위 쿼리에 별칭을 지정하고 조인할 수 있다.
- 데이터베이스의 기존 테이블에 하위 쿼리를 조인할 수 있는데, 열이 있는지 확인이 필요하다.
- SELECT 하위 쿼리는 단일 집계 값을 반환하는 데 사용되고, 수학적인 계산에도 사용된다.
- 하위 쿼리가 여러 행을 반환하면 오류 발생하기 때문에단일 값을 반환해야 하고, 올바른 위치가 중요하다.
- SELCET, FROM, WHERE 내에 여러 subqueries를 포함할 수 있다. 하지만 쿼리가 길어지고 읽기 어려울 수 있어 쿼리 형식을 올바르게 작성하는 것이 중요하다.
- Subqueries는 추가 컴퓨터 성능을 필요로 한다. 데이터베이스의 크기, 추출한 레코드 수에 따라 쿼리를 실행하는 데 걸리는 시간이 늘어날 수 있다.
- 따라서 필요한 결과를 얻기 위해 특정 하위 쿼리가 필요한지 여부를 항상 물어보아야 한다.
[SQL 스터디_1팀] 6주차_강의노트 (0) | 2023.05.17 |
---|---|
[SQL 스터디_1팀] 5주차_강의노트 (1) (0) | 2023.05.09 |
[SQL_스터디_2팀] 5주차_강의노트(2) (0) | 2023.05.05 |
[SQL 스터디_2팀] 4주차_강의노트 (2) (0) | 2023.05.02 |
[SQL 스터디_1팀] 5주차_강의노트 (2) (0) | 2023.05.02 |
댓글 영역