본문 바로가기
[커리어] 에디터의 자기계발/[도전] 비전공자 코딩 학습기록

[코딩 공부] 엘리스 SQL강의 수강일지 1강 4장 - 데이터의 그룹화

by 시루나 2022. 2. 27.
반응형

 

수업기록 4차. 

SUMMARY

 

01.  데이터 그룹 짓기

 1) 데이터의 그룹화

   = SELECT 컬럼, COUNT(*) / FROM 테이블 / GROUP BY 컬럼

  ex. 회원들이 책을 몇번 대여했는지 확인하려면? -> user_id로 그룹 지어서(Group by) 해결

  => SELECT user_id, COUNT(*) 

       FROM rental

      GROUP BY  user_id; (이때 group by 명령어를 사용하지 않으면 rental 테이블에서 대여한 모든 횟수의 총합이 출력됨)

  주의 : 셀렉트 + 컬럼 뒤에 , 필수!!

그룹함수는 다양하게 사용할 수 있다

   

 2) 데이터 그룹에 조건 적용하기

    = SELECT 컬럼, COUNT(*) / FROM 테이블 / GROUP BY 컬럼 / HAVING COUNT(컬럼) > N(조건이 되는 숫자)

  ex. 책을 2번 이상만 대여한 사람만 조회하려면? -> group by에 한 줄 더 추가 -> Having count 조건

  => SELECT user_id, COUNT(*) 

       FROM rental

      GROUP BY  user_id

      HAVING COUNT(user_id) > 1;

 3) 두개의 테이블에서 조회하기

    = SELECT */ FROM 테이블 / INNER JOIN  or LEFT JOIN or RIGHT JOIN + 연결할 테이블 ;

user_id를 중심으로 왼편에 rental 테이블이 오른편에 user 테이블이 연결됨

  ex. rental 테이블과 user 테이블에서 user_id가 같은 것만 조회하려면? 

   => SELECT */ FROM rental(앞에 오는 테이블) / INNER JOIN  user(연결되는 테이블) / ON user.id = rental.user_id 

                                                                                                         -> user 테이블의 id 는 rental 테이블의 user_id와 같다

 필요에 따라 INNER JOIN 자리에 LEFT JOIN이나 RIGHT JOIN을 사용하면 됨.

*테이블끼리 합치되 왼편에 있는 테이블의 정보를 모두 출력할 경우(오른쪽 테이블에서 유효하지 않은 정보도) -> LEFT JOIN 

*테이블끼리 합치되 오른편에 있는 테이블의 정보를 모두 출력할 경우(왼쪽 테이블에서 유효하지 않은 정보도) -> RIGHT JOIN

중심이 되는 테이블이 join 다음에 온다
오른편 테이블을 기준으로 할 땐 right join. 왼편 테이블에 없는 정보는 NULL값으로 표기됨


드디어 80%에 해당하는 4장까지 수강 완료! 강의 후 실습이 반복되는 구조라 단순히 강의만 들어서는 백퍼 까먹고 넘어갔을 내용들을 두세번씩 활용해볼 수 있다는 점이 좋다(동시에 조금 귀찮지만). 그래도 4장쯤 되니까 조금씩 익숙해지는 느낌...! 강의만 듣고 끝나면 다 잊어버릴 거 같아서 걱정이라 자격증 시험이라도 볼까 하고 SQL 자격증 관련 검색해봤는데 내가 수강한 기초강의로는 택도 없는 느낌이었다 ㅋㅋㅋㅋㅋ 일단 2강까지 다 수강해보고 다시 생각하기로 :-) 그래도 오늘도 뿌듯!

👇엘리스 코딩교육이 궁금하다면👇

https://kdc-home.elice.io/?utm_source=blog&utm_medium=review&utm_campaign=kdc8 

 

엘리스 내일 패스, 가볍게 코딩 시작

엘리스 내일 패스를 통해 파이썬, SQL을 활용한 데이터 분석부터 웹개발, R 등 핫한 개발 주제들을 쉽고 편하게 수강할 수 있습니다.

kdc-elice.imweb.me

 

반응형

댓글