데이터 분석 입문을 위한 SQL 기초 문법과 핵심 명령어 정리
데이터 분석가로 성장하기 위해 반드시 거쳐야 하는 관문은 단연 데이터베이스를 다루는 기술입니다. 엑셀을 넘어 대용량 데이터를 다루려면 관계형 데이터베이스의 언어인 Structured Query Language를 능숙하게 다룰 수 있어야 합니다.
실무에서 마주하는 데이터는 수백만 건을 훌쩍 넘기 때문에 마우스 클릭만으로는 처리가 불가능합니다. 효율적인 데이터 추출을 위해 가장 자주 쓰이는 기본 골격을 이해하는 단계부터 시작합니다.
데이터 분석 입문을 위한 SQL 학습은 SELECT, FROM, WHERE를 활용한 데이터 조회부터 시작하는 것이 좋습니다. 데이터베이스에서 원하는 정보를 정확히 추출하기 위해 필수 명령어의 구조와 실행 순서를 파악하는 것이 핵심입니다.
SELECT와 FROM으로 데이터 조회 시작하기
모든 쿼리의 시작은 데이터를 가져오는 작업입니다. SELECT 절에는 조회하고 싶은 컬럼명을 적고, FROM 절에는 해당 데이터가 담긴 테이블 이름을 적습니다.
예를 들어 고객 테이블에서 이름과 이메일 주소만 골라내고 싶다면 지정된 컬럼만 나열하면 됩니다. 전체 컬럼을 전부 불러오고 싶을 때는 애스터리스크 기호를 사용하지만, 실무 환경에서는 데이터 용량과 쿼리 성능 저하를 방지하기 위해 필요한 컬럼만 명시하는 습관을 들여야 합니다.
테이블 명칭과 컬럼 명칭을 정확히 입력하는 것이 오류를 줄이는 첫 번째 방법입니다.
WHERE 절로 원하는 조건 필터링하기
원하는 데이터만 골라내려면 필터링 조건이 필수입니다. WHERE 절은 특정 조건을 만족하는 행만 남기고 나머지는 제외하는 역할을 수행합니다.
등호 기호나 부등호를 활용해 숫자와 날짜를 비교할 수 있으며, 문자열을 다룰 때는 작은따옴표를 사용해 텍스트를 지정합니다. 여러 조건을 동시에 적용하려면 AND나 OR 연산자를 결합하고, 특정 목록에 포함되는 값을 찾을 때는 IN 연산자를 활용합니다.
조건문 작성 시 대소문자 구분 여부나 공백 처리에 주의하지 않으면 0건의 결과가 반환되는 허탈한 상황을 마주할 수 있습니다.
GROUP BY와 집계 함수로 데이터 요약하기
데이터 분석의 본질은 거대한 숫자 속에서 의미 있는 인사이트를 도출하는 과정입니다. COUNT, SUM, AVG, MAX, MIN 같은 집계 함수는 데이터를 하나로 압축해 줍니다.
이때 특정 범주별로 묶어서 통계를 내고 싶다면 GROUP BY 절을 함께 사용합니다. 카테고리별 총 판매량이나 부서별 평균 급여를 구할 때 이 문법이 쓰입니다.
집계된 결과에 다시 한번 조건을 걸고 싶을 때는 WHERE 대신 HAVING 절을 사용해야 한다는 점이 초보자들이 자주 범하는 실수 중 하나입니다.
JOIN을 활용해 여러 테이블 결합하기
현업의 데이터베이스는 연관된 정보들이 여러 테이블에 나뉘어 저장되어 있습니다. 고객 정보와 주문 내역이 서로 다른 테이블에 존재할 때, 이 둘을 연결해 하나의 표처럼 보는 기술이 JOIN입니다.
공통으로 존재하는 식별자인 키 값을 기준으로 두 테이블을 가로로 확장합니다. 가장 흔하게 쓰이는 INNER JOIN은 양쪽 테이블 모두에 존재하는 데이터만 매칭시키고, LEFT JOIN은 기준이 되는 왼쪽 테이블의 모든 데이터를 보존한 상태로 오른쪽 테이블을 붙입니다.
관계형 데이터 구조를 이해하지 못하면 올바른 결합 쿼리를 작성할 수 없습니다.
초보자가 자주 하는 실수와 학습 로드맵
SQL을 공부할 때 문법만 눈으로 읽으면 실전에서 손이 움직이지 않습니다. 쿼리가 실행되는 논리적 순서는 작성하는 순서와 달라서 FROM, WHERE, SELECT, GROUP BY, HAVING, ORDER BY 순으로 컴퓨터가 처리한다는 점을 이해해야 합니다.
처음에는 프로그래머스나 LeetCode 같은 실습 플랫폼에서 일일이 코드를 입력하며 결과를 확인하는 방식을 추천합니다. 매일 3문제씩 꾸준히 풀며 에러 메시지를 독해하는 능력을 기르면 한 달 안에 기본적인 데이터 추출 업무를 소화할 수 있는 역량을 갖추게 됩니다.