SQL 심화 (4)

subinii·2024년 5월 2일

DS 25기

목록 보기
35/46

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)

FORMAT

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

Subquery

서브쿼리

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

스카라 서브쿼리 - SELECT 절

  • 결과는 하나의 컬럼이어야 한다.

인라인 뷰 - FROM 절

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

중첩 서브쿼리 - WHERE 절

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

멀티 로우 : 하나 이상의 열을 검색하는 서브쿼리

IN

  • 서브쿼리 결과 중에 포함될때
  • 예제 : snl에 출연한 영화배우를 조회

EXISTS

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

ANY

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

ALL

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

멀티 컬럼

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

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

profile
데이터 공부 기록

0개의 댓글