3회차_ Join 사용해보기

소라·2023년 8월 18일
0

SQLD고군분투기

목록 보기
3/4

Join이란?

두 테이블의 공통된 정보 (key값)를 기준으로 테이블을 연결해서 한 테이블처럼 보는 것을 의미한다.

SELECT payment_method, round(AVG(point),2) from point_users pu 
inner join orders o on pu.user_id = o.user_id
group by payment_method
SELECT o.payment_method, round(AVG(pu.point),2) from point_users pu 
inner join orders o on pu.user_id = o.user_id
group by o.payment_method

orders안에 있는 payment_method를 보고 싶은거이기에 o. payment_method로 작성해야한다.
point_users에 있는 것중에 평균을 구하기에 그냐 point가 아닌 avg(pu. point)로 해야한다.


SELECT u.name, count(name) from enrolleds e
inner join users u on e.user_id =u.user_id 
where is_registered = 0
order by u.name

성씨별로 이기에 group by
order by 뒤에 count(*)가 와야된다. 정렬하려는 항목이 와야하기에.
오름차순이니깐 desc추가

SELECT u.name, count(*) from enrolleds e
inner join users u on e.user_id =u.user_id 
where is_registered = 0
group by u.name
order by COUNT(*) desc

group by뒤에 코스의 타이틀과 체크인의 위크가 오도록 한다
group by c.title, c2. week
order by 뒤에도 똑같이

8월 1일 이후에 구매한 고객들만 발라내어 보세요!

SELECT c.title, c2.week,COUNT(*) from courses c 
inner join checkins c2 on c.course_id = c2.course_id 
inner join orders o on c2.user_id  = o.user_id 
where o.created_at >= '2020-08-01'
group by c.title, c2.week
order by c.title, c2.week

left join사용해보기

먼저 토탈부터 세어보자. count(*) 하지만 user_id를 세어도 전체를 세는것이다.

0개의 댓글