비전공자도 한 번에 이해하는 SQL 입문 핵심 요약 데이터베이스 기초부터 쿼리 작성까지
데이터 분석가가 되기 위해서 많은 분들이 배우는 SQL에 시작했다. SQL 입문을 위해 내가 선택한 플랫폼은 바로 Datacamp이다. 나는 SQL 뿐만 아니라, 앞으로 데이터 분석가로서 성장에 필요한 기술과 지식을 위해 연 결제를 했다. 오늘은 SQL 기초에 대해서 이야기해 보자.
[AI 요약 및 핵심 인사이트]
- 주제: 입문자를 위한 SQL 및 데이터베이스 기초 가이드
- 핵심 개념: 데이터베이스는 고속 데이터 검색 및 조작에 최적화된 구조화된 “디지털 캐비닛”임
- 주요 비교: 대규모 데이터(Big Data) 처리 및 다수 사용자의 동시 접속 환경에서 SQL이 Python보다 효율적임
- 기술 스택: MySQL, PostgreSQL, SQL Server, BigQuery 간의 주요 차이점 설명
- 핵심 문법:
SELECT,FROM,ORDER BY,LIMIT,DISTINCT등 기초 쿼리문 해설 - 인프라: 클라이언트-서버 구조(서버 vs 데스크톱/웹 클라이언트)에 대한 세부 사항
- 실무 팁: 퀸스타운 QRC에서의 개인적 학습 경험과 전문적인 데이터 추출 요구사항을 연결하여 설명
SQL 입문을 위한 데이터베이스 정의

데이터 분석 공부를 위해 datacamp 플랫폼에서 SQL 공부를 시작했다. 그리고 SQL은 데이터베이스와 뗄 레야 뗄 수 없는 관계임을 알게 됐다.
데이터베이스(database)는 아주 잘 구조화된 거대한 디지털 캐비닛이다. 핵심은 정해진 규칙에 따라 데이터를 저장하고 필요할 때 빛의 속도로 찾아낼 수 있게 설계된 시스템이다.
즉, 데이터베이스(database)는 데이터를 안정적으로 저장하고, 정보를 효율적으로 검색하고 데이터를 체계적으로 조작하는 시스템인 것이다.
데이터베이스의 구조
데이터베이스가 디지털 캐비닛으로 불리는 이유는 명확한 구조 때문이다. 데이터베이스는 아래와 같은 계층 구조를 가지고 있다
- 프로젝트 : 예시) 내 쇼핑몰 프로젝트
- 스키마(데이터 세트) : 판매 데이터 세트, 고객 데이터 세트, 상품 데이터 세트
- 테이블 : 고객 데이트 세트 중에 고객 프로필, 로그인 기록, 주문 상품, 수량 등
데이터베이스와 엑셀 파일의 로딩 속도 차이
뉴질랜드 QRC 학교를 다닐 때 나는 다운로드를 받은 CSV 파일과 데이터베이스에 접속하여 사용한 CSV 파일을 다 사용해 봤다. 데이터베이스 내 파일이 더 규모가 훨씬 컸음에도 불구하고 로딩 속도가 월등히 빨랐다는 느낌을 그 때 받았다.
SQL를 배워야 하는 이유

그 이유를 먼저 얘기하기 전에 아마 대부분의 기업들은 그들이 가진 방대한 양의 데이터를 기업 자체 데이터베이스나 빅테크 기업의 데이터베이스를 대여하고 보관하고 있는 현실이다.
그렇다면 우리는 이 데이터베이스에서 데이터를 가져와 분석을 하는 일이 많을 것이다. 그러니 당연히 데이터베이스에 있는 데이터를 가져오는 것(추출)을 알아야 한다.
SQL 명령이 데이터베이스의 데이터 구성방식에 맞게 설계가 되었기 때문이다. 특히 SQL은 데이터베이스의 데이터를 다루는 한 가지 특정 목적을 위해 설계 되었기 때문에 배우기가 아주 쉬운 편이다.
SQL과 Python의 차이
나는 Python을 미리 공부하고, QRC 학교에 들어갔었다. 학교에서는 SQL 쿼리를 직접적으로 배우지 않았지만, 하나의 의문이 들었다
‘왜 Python을 사용하지 않고, SQL을 사용하지?’
SQL과 Python의 차이점은 아래의 표에서 얘기하겠다
비교 항목 | SQL (Structured Query Language) | Python (Pandas 등) |
주목적 | 데이터베이스에서 데이터 추출 및 집계 | 데이터 분석, 통계, 머신러닝, 시각화 |
데이터크기 | 대규모(Big Data) 처리에 최적화 | 메모리 크기에 제한됨 (소~중규모) |
속도 | 서버 성능에 의존 (대용량 처리에 빠름) | 로컬 PC 성능에 의존 (복잡한 로직에 빠름) |
협업 | 데이터 엔지니어와 소통하는 공용어 | 데이터 과학자/개발자 간의 도구 |
역시 데이터베이스의 데이터 양은 방대할 수 밖에 없다. 대규모 데이터를 처리하는 데에는 SQL이 더 낮다는 것이다.
데이터베이스 시스템 종류
처음에 데이터베이스이면 다 같은 구조 아닌가 싶었는데, 시스템이 다른 것도 있었다.
- MySQL : Oracle에서 개발한 오픈소스로 전 세계에서 가장 많이 쓰이고 있음
- PostgreSQL : 오픈 소스 중 가장 강력하고, 복잡한 쿼리와 데이터 타입을 잘 처리
- SQL Server :MS에서 만들어 윈도우 환경에 최적화
- BigQuery : 구글에서 클라우드 기반 데이터 웨어하우스
기본적인 SQL 쿼리는 다 통하지만, 일부 시스템 종류에 따라 다른 쿼리를 사용해야 하는 경우도 분명히 있다. 그리고 MySQL, PostgreSQL, SQL Server는 대소문자를 구분하지 않지만, BigQuery는 대소문자를 구분한다.
데이터베이스 서버와 클라이언트

데이터베이스를 사용할 때에 구조적으로 크게 2개의 컴퓨터가 관여합니다.
- 서버 : 데이터베이스를 저장하고, 실행하는 컴퓨터
- 클라이언트 : 현 내 컴퓨터에서 실행하는 소프트웨어로, 데이터베이스에 연결해서 SQL 쿼리를 작성한 후 서버에 전송한 후, 그 결과를 받아 화면에 표시하는 컴퓨터
크게 클라이언트도 프로그램을 본인 컴퓨터에 설치해야 하는 데스크톱 클라이언트(MySQL)와 프로그램 설치 없이 브라우저를 통해 접속하는 방식(클라우드 기반 예시 BigQuery, Snowflake)인 웹 클라이언트로 나눠진다.
일반적으로 회사의 데이터베이스 접속할 경우에는 관리자가 계정을 만들어 주고, 초기 비밀번호를 제공하기 때문에 그것만 알면 된다.
하지만, 데스크톱 클라이언트 접속 방식으로 내 컴퓨터에 설치된 데이터베이스에 접속할 경우에는 서버 주소(데이터베이스 URL), 사용자 이름(계정), 비밀번호, 데이터베이스 이름(어떤 데이터베이스를 사용할 지)를 다 알고 있어야 한다
기본 SQL 입문 쿼리
SQL 쿼리는 데이터베이스에서 특정 데이터를 가져오기 위해 던지는 문장이라고 생각하면 된다. 아래에 보이는 SELECT, FROM이 대표적인 SQL 쿼리이다.
SQL 입문 쿼리 (기본)
SELECT name,
FROM products;
SELECT는 일단 가져오라는 키워드이다. 전체 다 가져오라고 할 때에는 SELECT *, 이렇게 사용한다. 위의 것은 name 컬럼(열)만 가져오라는 뜻이다.
FROM은 특정 테이블에서 가져오라는 뜻이다. 위의 경우 product라는 테이블에서 가져오라는 뜻이고, SQL 쿼리는 꼭 마지막을 장식할 때에는 ;를 붙인다.
이런 컬럼(id, name, rating)의 데이터만 가져와라
SELECT id,
name,
rating
FROM products;
ORDER BY : rating 컬럼 속 데이터 중에서 낮은 것에서 높은 순(오름차순), 보통 생략
SELECT id,
name,
rating
FROM products
ORDER BY rating;
ORDER BY x DESC: rating 컬럼 속 데이터 중에서 높은 것에서 낮은 순(내림차순)
SELECT id,
name,
rating
FROM products
ORDER BY rating DESC;
LIMIT : 상위 몇 개를 원할 때, 보통 ORDER BY와 함께, 제일 마지막에 사용
SELECT id,
name,
rating
FROM products
ORDER BY rating DESC
LIMIT 10;
DISTINCT : 특정 컬럼 속의 유일한 값만 나열, 항상 SELECT 뒤에
SELECT DISTINCT category
FROM products;
하지만 위의 경우 이미 category에는 기존 데이터 값이 있기 때문에 새로운 컬럼을 만들어야 한다 그래서 아래와 같이 AS와 함께 새로운 임의의 컬럼 이름을 만든다
SELECT DISTINCT category AS unique_categories
FROM products;
마무리
오늘은 데이터베이스 기본 개념과 이해 및 SQL 입문 쿼리에 대해서 알아보는 시간을 가졌다. SQL 쿼리도 중요하지만, 나는 데이터베이스를 이해하는 것이 더 중요한 것 같다. 데이터베이스의 장점을 다시 한번 얘기하겠다
- 훨씬 많은 양의 데이터 처리
- 수천명의 사용자가 동시에 데이터 접근 및 업데이트 가능
- 애플리케이션의 자동 접근에 최적화 (사람 개입이 훨씬 적다)
뉴질랜드 데이터 분석가가 되기 위해 고군분투하는 나의 이야기는 앞으로도 계속 된다. 뉴질랜드 생활에 대한 모든 것과 데이터 분석 관련 직종을 생각하시는 분들은 앞으로도 뉴질랜드 생활백서 많이 찾아 주셨음 합니다.






