[SQL] Subquery

eun·2022년 6월 10일
0

SQL

목록 보기
3/8
post-thumbnail

Subquery

FROM절 서브쿼리

SELECT daily_stats.week
	 , AVG(daily_stats.incidents_daily)
     
FROM (
	  SELECT week
      	   , date
           , COUNT(incident_id) AS incidents_daily
      FROM crimes
      GROUP BY week, date
      ) daily_stats
      
GROUP BY daily_stats.week
  • FROM 절에 쿼리문을 하나 넣어주면 됨
  • 위에서 FROM 절 뒤 괄호 안의 쿼리가 서브쿼리에 해당
  • 서브쿼리는 가상의 테이블을 하나 더 만든다고 생각하면 됨
  • 괄호 뒤에 테이블 alias 는 반드시 붙여줘야 함

WHERE절 서브쿼리

1. WHERE 절 서브쿼리 결과물이 1개일 때

  • = 사용
  • crimes 라는 테이블에서 가장 최근에 있는 날짜의 데이터만 가져오기
SELECT *
FROM crimes
WHERE date = (SELECT MIN(date) FROM crimes)

2. WHERE 절 서브쿼리 결과물이 여러 개일 때

  • IN 또는 OR 사용
SELECT *
FROM crimes
WHERE date IN (SELECT DISTINCT date FROM crimes ORDER BY date DESC LIMIT 5)
profile
study archive 👩‍💻

0개의 댓글