Scalar Functions
- 입력 값을 기본으로 단일 값을 반환하는 함수

UCASE
SELECT UCASE(string)

LCASE
SELECT LCASE(string)

MID
SELECT MID(string, start_position, lenth)

LENTH
SELECT LENTH(string)

ROUND
SELECT ROUND(number, decimal_place)
- number 반올림할 대상, decimal_place : 반올림할 소수점 위치 (옵션)

NOW
SELECT NOW(string)

- 숫자를 천단위 콤마가 있는 형식으로 반환하는 함수
SELECT FORMAT(number, decimal_place)
- number : 포맷을 적용할 문자 혹은 숫자, decimal_place : 표시할 소수점 위치

Subquery
서브쿼리
- 하나의 sql 문 안에 포함되어 있는 또 다른 sql 문을 말한다.
- 메인쿼리가 서브쿼리를 포함하는 종속적인 관계이다.
- 서브쿼리는 메인쿼리의 칼럼 사용 가능
- 메인쿼리는 서브쿼리의 칼럼 사용 불가
- 주의
- 서브쿼리는 괄호로 묶어서 사용
- 단일 행 혹은 복수 행 비교 연산자와 함께 사용 가능
- 서브쿼리에는 order by 사용 X
- 예제 : 서울 은평경찰서의 강도 검거 건수와 서울시 경찰서 전체의 평균 강도 검거 건수를 조회

스카라 서브쿼리 - SELECT 절
- 결과는 하나의 컬럼이어야 한다.

인라인 뷰 - FROM 절
- 메인쿼리에서는 인라인 뷰에서 조회한 컬럼만 사용 가능하다.
- 예제 : 경찰서 별로 가장 많이 발생한 범죄 건수와 범죄 유형을 조회

중첩 서브쿼리 - WHERE 절
- 싱글 로우 : 하나의 열을 검색하는 서브쿼리
- 비교연산자와 사용되는 경우, 서브쿼리의 검색 결과는 한 개의 결과값을 가져야함 (두 개 이상은 에러, 괄호 없으면 에러)
- 예제

멀티 로우 : 하나 이상의 열을 검색하는 서브쿼리
IN
- 서브쿼리 결과 중에 포함될때
- 예제 : snl에 출연한 영화배우를 조회

EXISTS
- 서브쿼리 결과 값이 있으면 반환
- 예제 : 범죄 검거 혹은 발생 건수가 2000건 보다 큰 경찰서 조회

ANY
- 서브쿼리 결과 중에 최한 하나라도 만족하면 (비교연산자 사용)
- 예제 : snl에 출연한 적이 있는 연예인 이름 조회

ALL
- 서브쿼리 결과를 모두 만족하면 (비교연산자 사용)
- 예제

멀티 컬럼
- 하나 이상의 행을 검색하는 서브쿼리
- 연관 서브쿼리 : 서브쿼리 내에 메인쿼리 컬럼이 같이 사용되는 경우
- 예제 : 강동원과 성별, 소속사가 같은 연예인의 이름, 성별, 소속사를 조회

"이 글은 제로베이스 데이터 취업 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.”