ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스파르타 코딩클럽 SQL (2)
    코딩 2023. 2. 11. 00:00

    select u.name, count(u.name) as count_name from orders o

    inner join users u

    on o.user_id = u.user_id

    where u.email like '%naver.com'

    group by u.name

     

    위 쿼리가 실행되는 순서: from → join → where → group by → select

     

    1. from orders o: orders 테이블 데이터 전체를 가져오고 o라는 별칭을 붙입니다.
    2. inner join users u on o.user_id = u.user_id : users 테이블을 orders 테이블에 붙이는데, orders 테이블의 user_id와 동일한 user_id를 갖는 users 테이블 데이터를 붙입니다. (*users 테이블에 u라는 별칭을 붙입니다)
    3. where u.email like '%naver.com': users 테이블 email 필드값이 naver.com으로 끝나는 값만 가져옵니다.
    4. group by u.name: users 테이블의 name값이 같은 값들을 뭉쳐줍니다.
    5. select u.name, count(u.name) as count_name : users 테이블의 name필드와 name 필드를 기준으로 뭉쳐진 갯수를 세어서 출력해줍니다.

     

     

    select o.payment_method, avg(pu.point) from point_users pu

    inner join orders o on pu.user_id = o.user_id

    group by o.payment_method

     

     

     

    select name, count(*) as cnt_name from enrolleds e

    inner join users u on e.user_id = u.user_id

    where e.is_registered = 0

    group by name

    order by cnt_name desc

     

     

    select c1.title, c2.week, count(*) as cnt from checkins c2

    inner join courses c1 on c2.course_id = c1.course_id

    group by c1.title, c2. week

    order by c1.title, c2. week

     

     

     

    '코딩' 카테고리의 다른 글

    스파르타 코딩클럽 SQL (3)  (0) 2023.02.11
    스파르타 코딩클럽 SQL (1) + (2)  (0) 2023.02.08
Designed by Tistory.