개요 역사 SQL 분류 첫 쿼리 큰 그림 📝 문제풀이
◀ 이전 📋 목차 CH 02 ▶
🗄️ CHAPTER 01 · 입문

SQL과 데이터베이스, 큰 그림부터

문법을 외우기 전에, 데이터베이스가 뭐고 SQL이 왜 필요한지부터 잡으면 훨씬 쉬워요. 이번 장은 코드보다 개념과 이야기 중심입니다. 편하게 읽어 내려가세요.

🎯 이 장을 끝내면
📖
개요
데이터베이스와 SQL이 뭔가요?
한 문장으로 먼저 잡고, 천천히 풀어볼게요.

데이터베이스(DB)는 "데이터를 체계적으로 모아둔 창고"예요. 그중 가장 널리 쓰이는 관계형 데이터베이스(RDBMS)는 데이터를 표(테이블) 형태로 저장해요. 그리고 SQL은 그 데이터베이스에게 "이런 데이터를 줘/넣어/바꿔"라고 말하는 언어예요.

🔤
관계형 데이터베이스(RDBMS) — 데이터를 표(테이블) 여러 개로 나눠 저장하고, 표끼리 공통 값으로 관계를 맺어 함께 다루는 데이터베이스예요. Relational Database Management System의 약자죠. MySQL·PostgreSQL·Oracle 같은 제품이 여기에 속하고, 이 코스에서 배우는 SQL이 바로 이 RDBMS에게 말을 거는 언어예요.
users 테이블 (예시)
idnameage
1'철수'20
2'영희'25
3'민수'30
🧩 용어 세 개만 먼저 테이블(table) — 데이터를 담는 표 하나. 위의 users가 테이블이에요.
행(row · 레코드)가로 한 줄. "철수, 20" 처럼 하나의 데이터(한 사람)예요.
열(column · 필드)세로 한 칸. name·age처럼 속성의 종류예요. 💡 즉 "테이블 = 표, 행 = 가로(데이터 하나), 열 = 세로(속성)". 이 셋만 잡으면 나머지가 술술 붙어요.
SQL Database RDBMS 테이블 행(row) 열(column) 기본 키 SELECT Edgar Codd
🧭
이번 장의 읽는 법. 억지로 외우지 마세요. "아, 데이터가 표로 저장되고 SQL로 물어보는구나" 하는 맥락만 잡으면, 다음 장부터 나오는 SELECT 문법이 훨씬 쉽게 붙습니다.
🌱
역사
"표로 데이터를 관리하자"는 아이디어에서
SQL은 50년 넘게 검증된, 데이터 세계의 공용어예요.
1970
📐 관계형 모델 제안 (Edgar F. Codd)
IBM의 연구원 에드거 코드(Edgar F. Codd)가 데이터를 표(관계, relation)로 관리하자는 관계형 모델을 발표해요. 오늘날 거의 모든 DB의 뿌리예요.
1970년대
🔤 SEQUEL → SQL
IBM이 이 모델을 다룰 언어 SEQUEL을 만들어요. 이후 이름이 SQL(Structured Query Language, 구조적 질의 언어)로 정리돼요.
1986
📜 표준화 (ANSI/ISO)
SQL이 공식 표준이 돼요. 그래서 제품이 달라도 기본 문법은 거의 통해요(세부 차이는 있음 — "방언").
지금
🗄️ 수많은 RDBMS 제품
MySQL · PostgreSQL · Oracle · SQL Server · SQLite 등 다양한 관계형 DB가 SQL을 써요. 한 번 배우면 여러 제품에 두루 통합니다.
👤
관계형 데이터베이스의 기초를 놓은 사람은 에드거 코드(Edgar F. Codd)예요. "표로 데이터를 다룬다"는 그의 아이디어가 SQL의 출발점입니다.
🧩
SQL 분류
SQL 명령어는 크게 4가지 갈래
이 분류만 알면 앞으로 나올 명령어들이 어디에 속하는지 감이 잡혀요.
분류하는 일대표 명령어
DQL (조회)데이터를 조회(질의)SELECT
DML (조작)데이터를 넣고·바꾸고·지움INSERT · UPDATE · DELETE
DDL (정의)테이블 구조를 만들고·바꿈CREATE · ALTER · DROP
DCL (제어)권한을 주고·회수GRANT · REVOKE
🗣️ SQL은 "선언형" 언어예요 SQL은 "무엇을(what)" 원하는지만 적어요. "20살 이상인 사람 이름을 줘" 처럼요. "어떻게(how)" 찾을지(어떤 순서로 뒤질지 등)는 데이터베이스가 알아서 결정해요. 그래서 자바처럼 반복문으로 하나하나 돌리는 게 아니라, 원하는 결과의 모양만 문장으로 선언하면 됩니다. 이게 SQL이 간결한 이유예요.
🔍
첫 쿼리
가장 기본, SELECT 문 맛보기
지금은 "이렇게 생겼구나"만. 자세한 문법은 CH 02에서 파헤쳐요.

데이터를 조회하는 SELECT 문은 "어느 열을, 어느 테이블에서, 어떤 조건으로" 가져올지 적어요.

🔤
쿼리(query) — 데이터베이스에게 보내는 한 번의 질문(명령문)이에요. "이런 데이터를 줘"라고 적은 SQL 문장 하나를 흔히 "쿼리"라고 불러요. 우리말로는 질의라고 해요.
SELECT name, age      -- ① 어느 열을 (name, age)
FROM users            -- ② 어느 테이블에서 (users)
WHERE age >= 20;      -- ③ 어떤 조건으로 (나이 20 이상)
🎯
SELECT
가져올 열 지정
🗄️
FROM
어느 테이블에서
🔎
WHERE
어떤 조건으로 거를지
💡
모든 열을 다 가져오고 싶으면 SELECT * 처럼 별표(*)를 써요. 그리고 SQL 문장은 보통 세미콜론(;)으로 끝내요. 키워드(SELECT 등)는 대소문자를 안 가리지만, 관례로 대문자를 많이 써요.
🗺️
큰 그림
어디에 쓰이고, 왜 배울까?
데이터를 다루는 거의 모든 곳의 기본기예요.
🎓 그래서 왜 배우나 1. 어디에나 데이터가 있어요 — 웹·앱·회사 시스템의 데이터는 대부분 관계형 DB에 저장돼요. 백엔드(자바·스프링)와 짝을 이루죠.
2. 한 번 배우면 두루 통해요 — 표준 SQL이라 MySQL·PostgreSQL·Oracle 등에서 기본 문법이 거의 같아요.
3. 개발·분석 공통 필수 — 개발자뿐 아니라 데이터 분석·기획에서도 SQL은 기본 소양이에요. 정리하면, SQL은 "데이터를 꺼내 쓰는 만국 공용어"예요. 이 코스로 그 기본기를 차근차근 점검해가요.
⚠️
"방언(dialect)"에 주의. 기본 문법은 표준이라 통하지만, 세부 기능은 제품마다 조금씩 달라요(예: 결과 개수 제한을 MySQL은 LIMIT, SQL Server는 TOP). 이 코스는 가장 널리 쓰이는 표준·MySQL 계열을 기준으로 하고, 중요한 차이는 그때그때 짚어줄게요.
🧠 이 장 핵심 요약
📝
문제풀이 · 점검
배운 걸 가볍게 점검해봐요
시험이 아니라 "내가 이해했나" 확인용이에요. 틀려도 바로 해설이 나와요.
🧪
문제를 풀면 즉시 정답과 해설이 나오고, 위쪽 바에 점수가 쌓여요. 네 가지 유형(객관식 · O/X · 빈칸 · 쿼리결과)을 섞어 두었어요.
CH 02 🔍 SELECT 기본 — SELECT·FROM·WHERE로 원하는 데이터를 골라내기