SQL - Subquery

이채민·2021년 7월 2일

SQL 문법정리

목록 보기
4/4

where, select 절 에서의 subquery

포인트와 평균 조건의 subquery 사용
포인트의 평균보다 더 높은 포인트를 가지고 있는 유저들 출력하기

select * from point_users pu 
where pu.point > (select avg(pu2.point) from point_users pu2);

성씨 조건의 subquery 사용
'이'씨 성을 가진 유저들의 평균 포인트보다 많은 포인트를 가지고 있는 유저들 출력하기

select * from point_users pu 
where pu.point > 
	(select avg(pu2.point) from point_users pu2
	inner join users u 
	on pu2.user_id = u.user_id 
	where u.name = "이**");

from, inner join 절 에서의 subquery

course_id 별 like 개수, 전체, 비율 출력하기

select a.course_id, b.cnt_checkins, a.cnt_total, (b.cnt_checkins/a.cnt_total) as ratio from
(
	select course_id, count(*) as cnt_total from orders
	group by course_id
) a
inner join (
	select course_id, count(distinct(user_id)) as cnt_checkins from checkins
	group by course_id
) b
on a.course_id = b.course_id
profile
백엔드 개발자

0개의 댓글