SQL (5) subquery

2371 단어 sqlsql

Subquery란?

  • 쿼리 안의 쿼리라는 의미로 SQL를 더욱 간편하게 작성하기위해 사용하는 기능이다.

예시
kakaopay로 결재한 유저 정보

select u.user_id , u.email, u.name from users u
inner join orders o on u.user_id = o.user_id 
where payment_method = 'kakaopay'

위 쿼리문을 subquery로 작성해 보면 아래와 같다.

select u.user_id , u.email, u.name from users u
where u.user_id in (
	select o.user_id from orders o 
	where o.payment_method = 'kakaopay'
)

case, table

  1. case
  • 특정 조건에 따라 데이터를 구분할 때 사용
  • 아래 예시는 case를 이용해 point 점수에따라 level이란 필드를 만들어 구분해 주었다.

    subquery를 이용해 level별로 그룹핑도 가능하다.
  1. with
  • with절은 subquery를 별칭(alias)로 지정해 보다 깔끔하게 쿼리문을 작성할 수 있게 해준다.
  • 아래는 바로 위의 결과에서 subquery를 table1로 지정해주었다.

substring, substring_index

  • substring : 문자열의 일부만 출력(아래예시에서 created_at을 날짜부분만 출력)
  • substring_index : 문자열을 쪼갠 후 쪼개진 부분 출력(아래 예시에서 이메일을 @로 쪼갬)

좋은 웹페이지 즐겨찾기