seegongsik
내 단어장
데이터

묻는 언어, SQL

표가 가득한 데이터베이스 앞에 섰다고 해봐요. 그 안에서 딱 원하는 것만 꺼내려면 어떻게 할까요? 사람한테 묻듯이 데이터베이스한테도 또박또박 물어보면 돼요. 어떤 열을 볼지 고르고, 어떤 줄만 남길지 조건을 말하는 거예요. 이렇게 묻는 언어가 바로 SQL이에요.

01

데이터베이스에 물어봐요

앞에서 데이터베이스가
표들이 모인 창고라는 걸 배웠어요.
표 안에는 줄과 칸이 가지런하죠.
그런데 그 많은 줄 가운데
원하는 것만 어떻게 꺼낼까요?
사람한테 묻듯이 물어보면 돼요.
다만 말투를 또박또박 정해 둬요.
사람 말을 정해진 말투로 바꾸면
데이터베이스가 알아듣고 답해줘요.

"스무 살 이상인 사람의 이름을 알려줘"
SELECT _____ WHERE _____
사람 말 조각을 눌러 묻는 말로 바꿔봐요

사람 말 조각을 차례로 눌러 묻는 말로 바꿔봐요. 보고 싶은 열과 조건을 고르면 정해진 말투가 만들어져요.

사람 말이 묻는 말로 바뀌었죠.
잘 보면 두 부분으로 나뉘어요.
하나는 어떤 열을 볼까,
다른 하나는 어떤 줄만 남길까예요.
이 둘만 정하면 묻는 말이 완성돼요.
복잡해 보여도 속은 단순해요.
먼저 열 고르기부터 차근차근 볼까요?

02

보고 싶은 열을 골라요, SELECT

표에는 열이 여러 개 있어요.
이름, 나이, 도시처럼요.
그런데 늘 모든 열이 필요하진 않아요.
이름만 보고 싶을 때도 있죠.
그럴 땐 보고 싶은 열만 골라요.
고른 열만 남고 나머지는 가려져요.
이렇게 열을 고르는 걸 SELECT라고 불러요.
무엇을 보여줄지 정하는 거예요.

Ana
24
Lima
Ben
17
Busan
Mei
31
Xian
보고 싶은 열의 머리를 눌러봐요

보고 싶은 열의 머리를 눌러봐요. 고른 열만 남고 나머지 열은 가려져요. 다시 누르면 풀려요.

필요한 열만 깔끔하게 남았죠.
표가 한결 보기 쉬워졌어요.
그런데 열만 골라서는 부족할 때가 있어요.
줄은 여전히 다 남아 있으니까요.
나이가 어떻든 모든 사람이 보이죠.
우리는 보통 조건을 걸어 묻잖아요.
스무 살 이상인 사람만, 처럼요.
그럼 이번엔 줄을 걸러볼까요?

03

조건으로 줄을 걸러요, WHERE

이번엔 줄을 차례예요.
표의 모든 줄이 다 필요하진 않아요.
원하는 줄에는 공통점이 있죠.
나이가 스무 살 이상이라거나요.
그 공통점을 조건으로 적어요.
조건에 맞는 줄만 남고
맞지 않는 줄은 빠져요.
이렇게 줄을 거르는 걸 WHERE라고 불러요.
어떤 것만 남길지 정하는 거예요.

name
age
city
Ana
24
Lima
Ben
17
Busan
Mei
31
Xian
Leo
19
Oslo
조건을 눌러 줄을 걸러봐요

조건을 눌러 걸어봐요. 나이가 그 조건에 맞는 줄만 남고, 맞지 않는 줄은 흐려져 빠져요.

조건에 맞는 줄만 남았죠.
나머지는 조용히 빠졌어요.
이제 열 고르기와 조건 거르기,
두 솜씨를 다 익혔어요.
그런데 진짜 힘은 둘을 합칠 때 나와요.
보고 싶은 열을 고르고,
동시에 원하는 줄만 남기면
딱 필요한 만큼만 남은 표가 나오죠.
둘을 한꺼번에 써볼까요?

04

둘을 합치면 결과 표

이제 두 솜씨를 한 번에 써봐요.
먼저 조건으로 줄을 걸러요.
조건에 맞는 줄만 남죠.
그다음 보고 싶은 열을 골라요.
남은 줄에서 그 열만 보여요.
순서가 어떻든 결과는 같아요.
고른 열과 거른 줄이 만나는 자리,
거기에 작은 결과 표가 생겨요.
물음에 딱 맞는 답이 표로 나온 거예요.

name
age
city
Ana
24
Lima
Ben
17
Busan
Mei
31
Xian
Leo
19
Oslo
두 단계를 눌러 합쳐봐요

열 고르기와 조건 거르기를 차례로 눌러봐요. 둘을 합치면 조건에 맞는 줄과 고른 열만 남은 결과 표가 만들어져요.

원하던 답이 표로 나왔죠.
많은 줄과 열 가운데
묻는 말 하나로 딱 필요한 만큼만 골라냈어요.
사람이 일일이 눈으로 훑지 않아도
데이터베이스가 알아서 골라줘요.
표가 백만 줄이어도 같은 방식이에요.
묻는 말만 잘 적으면 답은 금방 와요.
이게 SQL이 데이터를 다루는 힘이에요.
이제 전체를 한 번 정리해봐요.

05

정리해볼까요

한 줄로 모으면 이래요.
SQL은 데이터베이스에 묻는 언어예요.
어떤 열을 볼지 고르는 게 SELECT,
어떤 줄만 남길지 거르는 게 WHERE예요.
둘을 합치면 조건에 딱 맞는 결과 표가 나와요.
골라보기와 조건 거르기, 그게 전부예요.
묻는 말 하나로 원하는 답을 표로 받는 것,
그게 SQL의 기본이에요.

핵심을 차례로 눌러 되짚어봐요

핵심을 차례로 눌러 되짚어봐요. (묻는 언어 SQL → 열 고르기 SELECT → 줄 거르기 WHERE → 합치면 결과 표)

이제 데이터베이스에
또박또박 묻는 법을 알게 됐어요.
원하는 열을 고르고 줄을 걸러
필요한 답만 받아오는 솜씨죠.
그런데 지금까지는 표 하나만 봤어요.
현실에서는 표가 여러 개로 나뉘어 있곤 해요.
사람 표 따로, 주문 표 따로처럼요.
그럼 여러 표를 어떻게 이어 물을까요?
다음엔 표와 표를 잇는 이야기를
함께 이어서 살펴봐요.

한 줄 정리SQL은 데이터베이스에 원하는 걸 얻으려고 묻는 언어예요. 두 가지만 말하면 돼요. 먼저 어떤 열을 볼지 고르는 거예요. 표에는 열이 여러 개 있는데 그중 보고 싶은 열만 남겨요. 이걸 SELECT라고 불러요. 그다음 어떤 줄만 남길지 조건을 거는 거예요. 모든 줄이 아니라 조건에 맞는 줄만 남겨요. 이걸 WHERE라고 불러요. 고른 열과 거른 줄이 만나면 조건에 딱 맞는 작은 결과 표가 나와요. 표 하나를 두고 골라보기와 조건 거르기로 물으면 답이 표로 돌아오는 것, 그게 SQL의 기본이에요.
데이터
이 페이지가 도움 됐다면 후원하기