데이터 분석을 위해 꼭 알아야 하는 SQL 개념 정리

코드잇

SQL로 데이터 분석을 하려면 기본적으로 어떤 것들을 알아야 할까요?

여러가지가 있겠지만 그 중에서도 특히 중요한 것들을 하나씩 정리해볼게요.

1. 데이터베이스(Database), 테이블(Table), DBMS의 개념

일단 데이터가 저장되는 단위인 데이터베이스와 테이블이 무엇인지 알아야 합니다. 데이터베이스 관련 작업은 DBMS(Database Management System, DBMS)라는 프로그램을 사용해서 해야하는데요. 이때 DBMS가 '서버 - 클라이언트' 구조로 동작한다는 사실을 알고, 그 사용법에도 익숙해져야 합니다.

2. 테이블의 row(행), column(열), Primary Key, Foreign Key 개념

테이블에는 하나의 개체를 나타내는 row라는 단위와, 개체의 속성을 나타내는 column이라는 단위가 있습니다. 그리고 이때 하나의 row를 식별할 수 있게 해주는 Primary Key, 다른 테이블의 Primary Key를 가리키는 Foreign Key라는 것도 있는데요. 데이터 분석을 할 때 우리가 주로 다루게되는 대상은 바로 테이블입니다. 따라서 테이블에 관한 기본 개념들을 확실하게 이해하고 넘어가야 그 다음 내용들을 손쉽게 이해할 수 있습니다.

3. 데이터 타입(Data type)

테이블에서 각 컬럼은 그것이 가지게 될 값에 적절한 데이터 타입을 갖고 있습니다. 데이터 분석까지만 하는 것이라면 테이블의 각 데이터 타입의 의미를 아는 정도로 충분합니다.(직접 데이터베이스를 구축하고 테이블을 설계해야하는 개발자 입장에서는 어느 경우에 어떤 데이터 타입을 사용하면 효율적일지까지도 정확히 아는 게 좋습니다)

4. Null과 이상한 데이터 처리 방법

데이터베이스 세계에는 '값이 없음'을 의미하는 Null이라는 단어가 있습니다. 개발자의 실수나 어쩔 수 없는 사정으로 인해 데이터를 수집하지 못한 경우, 이 Null로 표시되는데요. 데이터 분석을 할 때는 이 NULL들과 이상한 값들을 잘 처리하면서 분석을 진행해야 정확한 결과를 얻을 수 있습니다.

5. SQL의 기본 키워드들

SQL의 기본 키워드인

SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY 등을 능숙하게 사용할 수 있어야 빠르게 데이터 분석을 할 수 있습니다. 이때 각 문구의 작성 순서나 실행 순서를 정확히 알아야 오류없는 SQL 문을 작성하고, 다른 사람이 써놓은 SQL 문을 빠르게 이해할 수 있게 되죠.

6. SQL 함수들

SQL을 잘 다루기 위해서는 기본 키워드들 뿐만 아니라 데이터 변환(회원의 주소에서 '서울', '경기' 등의 광역 단위 명칭만 추출 등) 등의 정밀한 작업을 수행할 수 있는 각종 함수들도 능숙하게 사용할 수 있어야 합니다. 많은 분들이 SQL의 기본 키워드는 금방 익히지만, 자신이 사용하는 DBMS에서 제공하는 함수들을 잘 알지 못해 실무에서 어려움을 겪습니다. 기본적인 함수들은 미리 외워두고 있는 게 좋고, 특수한 상황에서 필요한 함수가 있다면 해당 DBMS에서 지원하는 함수가 있는지를 검색하는 능력을 키우는 것이 중요합니다.

7. 그루핑(Grouping)

데이터 분석의 기본은 그루핑에서부터 시작합니다. 우리가 고객 데이터를 분석할 때, '서울에 사는 30대 남성 회원들의 특성 파악, 사이트 유입 경로별 회원 분류' 등의 작업을 하게 되죠? 이런 작업들은 모두 테이블의 row들을 특정 기준 하에, 여러 그룹으로 나누는 그루핑을 필요로 합니다. 많은 분들이 특히 어려워하는 개념이기도 합니다.

8. 조인(Join)(=결합 연산)

실무 환경에는 '회원' 테이블, '상품' 테이블, '고객들의 구매 내역' 테이블, '배송 정보' 테이블 등 다양한 종류의 테이블들이 존재합니다. 이런 테이블들을 관련 있는 것들끼리 하나로 합쳐서 볼 수 있어야 실무에서 마주하게 될 다양한 문제들의 해답을 구할 수 있는데요. 이 조인은 'SQL 사용 실력'을 판단하는 하나의 척도가 될만큼 중요한 개념입니다.

9. 집합 연산

실무에는 같은 종류의(같은 컬럼 구조를 가진) 테이블들이 여러 개 존재하는 경우가 있습니다. 이럴 때 두 테이블 간에 어떤 row들이 겹치고, 서로 어떤 row들이 있고, 없는지를 집합 연산을 통해 판단할 수 있습니다.

10. 서브쿼리(Subquery)

SQL 문 안에는, 부품처럼 또다른 SQL 문을 넣고 사용하는 것이 가능합니다. 이렇게 부품처럼 사용되는 SQL 문을 서브쿼리라고 하는데요. SQL 문을 각각 새로운 창에서 두 번, 세 번 실행해서 해결해야하는 문제도, 서브쿼리를 사용하면 하나의 SQL 문만으로 해결할 수 있습니다.

11. 뷰(View)

실무에서 데이터 분석을 하다보면 매번 길이가 긴 SQL 문을 작성하게 됩니다. 하지만 이렇게 긴 SQL 문을 매번 작성하는 건 힘들기도 하고, SQL 문 길이가 길어지면 해석할 때도 헷갈리기 쉬운데요. 자주 반복해서 쓰는 SQL 문은 따로 저장해두고 좀더 짧은 명칭으로 사용할 수 있게 해주는, 뷰라는 개념이 있습니다. 뷰를 사용하면 여러분의 데이터 분석 속도를 한층 더 높일 수 있습니다.

이밖에도 데이터 분석을 위해 알아두면 좋은 내용들이 많습니다. 하지만 일단 위 내용들만 알고 있으면, SQL로 본격적인 데이터 분석을 시작할 수 있게 되고, 혹시라도 좀더 필요한 내용이 있으면 스스로 추가적인 공부를 할 수 있게 됩니다.

코드잇에서는 데이터베이스를 다루기 위해 배워야 할 SQL 코스를 준비하고 있습니다. 일단, 그 중에서도 데이터 분석을 하기 위해 알아야하는 내용들에 집중한 'SQL로 하는 데이터 분석'이라는 토픽이 최근 출시되었는데요.

이 토픽은 SQL 사용법을 단순하게 전달하는 것으로 끝나는 게 아니라, SQL을 사용할 때 알아야할 세세한 주의사항 안내와 복습을 위한 퀴즈, 직접 SQL 문을 써서 풀어야하는 과제들까지, 다채로운 내용들이 포함되어 있습니다. 'SQL로 하는 데이터 분석' 방법을 충실한 내용의 콘텐츠로, 재미있

게 배우고 싶은 분들은 꼭 수강해보세요!

코드잇에서 SQL 데이터베이스 무료로 시작해보세요 :-)

기업문화 엿볼 때, 더팀스

로그인

/