select 절 속성 필드에서 사용하는 Scalar Subquery
DB 데이터베이스2022. 9. 18. 17:36
300x250
member, log_view, trade
회원정보, 회원이 조회한 제품 로그, 회원이 구매한 제품 목록
이렇게 3개의 테이블이 있다.
보통은
select * member as a
left join log_view as b
on a.userid = b.userid
left join trade as c
on a.userid = c.userid
이런식으로 join 쿼리를 사용하여 결과를 낼수 있는데
만약 회원아이디별 제품 조회수, 거래건수를 뽑을려고 하면
Scalar Subquery를 사용하여 심플하게 뽑을수 있다.
기존의
select userid from meber 쿼리에서
속성 쿼리 2개만 아래와같이 추가하면 아주 간단!
select userid
, ( select count(*) cnt from log_view where log_view.userid = member.userid ) cnt_view
, ( select count(*) cnt from trade where trade .userid = member.userid ) cnt_trade
from member
예상되는 결과는 아래와 같다.
userid | cnt_view | cnt_trade |
test1 | 5 | 6 |
test2 | 2 | 8 |
간단하쥬 ㅋㅋㅋ
300x250
'DB 데이터베이스' 카테고리의 다른 글
MYSQL 백업/복구 + 특정테이블만 (0) | 2023.08.03 |
---|---|
mysql 테이블 단위 내용 분리 (0) | 2023.08.03 |
DB 인덱스 추가 쿼리 (0) | 2022.08.17 |
댓글()