본문 바로가기
강의&도서

[스파르타 코딩클럽] 엑셀보다 쉬운, SQL 3주차 개발일지

by 피카도 2022. 3. 11.

3주차에서는 inner join, left join, union을 배웠다!

 

2주차까지는 비교적 쉬웠다면 3주차부터는 조금씩 난이도가 올라갔다

 

join 연습 퀴즈 1,2,3,4는 복습해봤는데 맞았고 수업 들을 때도 헷갈렸던 퀴즈5랑 left join, 숙제를 복기해보려고 한다. 

 

-

3주차 내용 기억하기

 

1. [퀴즈] Join 연습5

 

연습4번에서, 8월 1일 이후에 구매한 고객들만 발라내어 보세요! join 할 테이블: courses에, checkins 를 붙이고! + checkins 에, orders 를 한번 더 붙이기!

꿀팁! → orders 테이블에 inner join을 한번 더 걸고, where 절로 마무리!

결과

-> 일단 첫번째로 쿼리 중 >= 이 부분에서 =를 빼먹었고, 

    두번째로 inner join을  두개 쓸 때 inner join ~ on, inner join ~ on 이 형태로 써야 했는데 inner join~, inner join, on~ 이렇게 썼다. 앞으로는 주의해야지 

 

2. left join 퀴즈 

💡 7월10일 ~ 7월19일에 가입한 고객 중, 포인트를 가진 고객의 숫자, 그리고 전체 숫자, 그리고 비율을 보고 싶어요!

아래와 같은 결과를 보고 싶다면 어떻게 해야할까요?

결과

-> 요거는 ratio 부분에서 count(point_user_id)/count(*) 이런 형태로 써둔다는 걸 기억해야겠다. count (~)/ count(~) 이렇게! count 두번 써야한다! 

-> 또 count는 NULL 값을 세지 않기 때문에 그냥 count만 먹여도 된다! where 절에 is not NULL 썼다가 이상해졌다

 

3. 3주차 숙제

enrolled_id별 수강완료(done=1)한 강의 갯수를 세어보고, 완료한 강의 수가 많은 순서대로 정렬해보기. user_id도 같이 출력되어야 한다.

결과

-> inner join을 써야 하는데 left join을 썼다. 결과는 똑같이 나오긴 했는데 문제를 유심히 보고 결정해야겠다. inner join은 교집합 개념! 

 

+ UNION에서 기억해야 할 것 

 

퀴즈5 쿼리

 

여기서 select 뒤에 '7월' as month, 를 넣으면 

 

 

이렇게 month 행이 생기고 7월이라는 필드가 생긴다. 꼭 기억해두자 

 

오늘의 복기 끝!

 

아 참 그리고 강의는 내돈내산!!!

 

+ 혹시 강의에 관심이 있으신 분들은 요 링크 따라 가시면 친구추천 할인 혜택을 받을 수 있다고 합니당 

https://spartacodingclub.kr/?f_name=%ED%97%88%EC%A7%80%EC%9B%90&f_uid=621f25d183d330886d4f4d91 

 

스파르타코딩클럽

왕초보 5주 완성! 웹/앱/게임 빠르게 배우고 내것을 만드세요!

spartacodingclub.kr

 

반응형

댓글