본문 바로가기
프로그래밍/MySQL

📊 [SQL 프로젝트] 제2장 SELECT - 데이터를 조회하는 첫 번째 명령어

by 강릉바다의 블로그 2026. 6. 26.

제2장 SELECT - 데이터를 조회하는 첫 번째 명령어


학습 목표

이번 장을 학습하면 다음 내용을 할 수 있습니다.

  • SELECT가 무엇인지 설명할 수 있다.
  • 테이블의 모든 데이터를 조회할 수 있다.
  • 원하는 열(Column)만 조회할 수 있다.
  • SELECT 문을 한 줄씩 해석할 수 있다.
  • 가장 많이 하는 실수를 피할 수 있다.

2-1. 컴퓨터에게 어떻게 질문할까요?

학교 행정실에 가서 다음과 같이 말한다고 생각해 봅시다.

"3학년 학생 명단을 보여 주세요."

 

그러면 담당 선생님은 학생 명단을 찾아 보여 줄 것입니다.

이번에는 카페를 운영한다고 생각해 보겠습니다.

손님이 묻습니다.

"전체 상품을 보여 주세요."

 

쇼핑몰에서는

"모든 고객을 보여 주세요."

 

회사에서는

"이번 달 주문 내역을 보여 주세요."

 

사람에게는 한국어로 말하면 됩니다.

하지만 데이터베이스는 한국어를 이해하지 못합니다.

대신 SQL이라는 언어를 사용합니다.

그리고 데이터를 보여 달라고 요청하는 가장 기본적인 명령어가 바로 SELECT입니다.

오늘 배우는 SELECT는 SQL에서 가장 많이 사용하는 명령어이며, 앞으로 거의 모든 장에서 계속 사용하게 됩니다.


2-2. 먼저 실행해 봅시다!

설명보다 먼저 직접 실행해 보겠습니다.

다음 SQL을 입력하고 실행하세요.

SELECT *
FROM Customers;

실행하면 Customers 테이블에 저장된 고객 정보가 모두 나타납니다.

예를 들면 다음과 같은 결과를 볼 수 있습니다.

CustomerID CustomerName City Country
1 Alfreds Futterkiste Berlin Germany
2 Ana Trujillo Emparedados México D.F. Mexico
3 Antonio Moreno Taquería México D.F. Mexico

이처럼 SQL은 실행하면 바로 결과를 확인할 수 있는 언어입니다.


잠깐 생각해 보기

위 SQL에는 단 두 줄밖에 없습니다.

그런데 고객 91명의 정보가 모두 출력되었습니다.

컴퓨터는 어떻게 우리가 원하는 것을 알아들었을까요?

이제 SQL을 한 줄씩 살펴보겠습니다.


2-3. SQL을 한 줄씩 읽어 보기

다시 SQL을 살펴보겠습니다.

SELECT *
FROM Customers;

이 SQL은 영어 문장처럼 읽으면 훨씬 이해하기 쉽습니다.

SELECT

→ 가져와라.

*

→ 모든 열을.

FROM

→ ~에서.

Customers

→ Customers 테이블에서.

즉, 전체 문장은 다음과 같은 뜻입니다.

Customers 테이블에서 모든 열을 가져와라.

 

어렵게 외울 필요가 없습니다.

영어 문장을 읽듯이 해석하면 됩니다.


2-4. 별표(*)는 무엇일까요?

많은 학생들이 처음 보는 기호입니다.

*

모든 열(All Columns)을 의미합니다.

Customers 테이블에는 다음과 같은 열이 있습니다.

  • CustomerID
  • CustomerName
  • ContactName
  • Address
  • City
  • PostalCode
  • Country

별표(*)를 사용하면 위 모든 열을 한꺼번에 가져옵니다.


2-5. 꼭 모든 정보를 가져와야 할까요?

항상 그런 것은 아닙니다.

예를 들어 고객 이름만 알고 싶다면 어떻게 해야 할까요?

다음과 같이 작성합니다.

SELECT CustomerName
FROM Customers;

이번에는 CustomerName 열만 출력됩니다.

CustomerName
Alfreds Futterkiste
Ana Trujillo Emparedados
Antonio Moreno Taquería

 

필요한 정보만 가져오기 때문에 결과도 훨씬 간단해졌습니다.


2-6. 여러 개의 열도 가져올 수 있습니다.

이름과 도시만 보고 싶다면 다음과 같이 작성합니다.

SELECT CustomerName,
       City
FROM Customers;

실행 결과

CustomerName City
Alfreds Futterkiste Berlin
Ana Trujillo Emparedados México D.F.
Antonio Moreno Taquería México D.F.

열은 쉼표(,)로 구분합니다.

필요한 만큼 계속 추가할 수 있습니다.

SELECT CustomerName,
       City,
       Country
FROM Customers;

2-7. 열의 순서를 바꾸면 결과도 바뀝니다.

다음 SQL을 실행해 보세요.

SELECT Country,
       CustomerName
FROM Customers;

이번에는 국가가 먼저 나오고 고객 이름이 뒤에 나옵니다.

즉,

SELECT에서는 작성한 순서대로 결과가 출력됩니다.


2-8. SELECT는 데이터를 변경하지 않습니다.

많은 초보자가 걱정하는 것이 있습니다.

"실수하면 데이터가 지워지는 것은 아닐까요?"

 

걱정하지 않아도 됩니다.

SELECT는 조회만 하는 명령어입니다.

데이터를 추가하거나 수정하거나 삭제하지 않습니다.

따라서 마음껏 실행해도 괜찮습니다.


2-9. 학생들이 가장 많이 하는 실수

① FROM을 빼먹는다.

잘못된 예

SELECT CustomerName;

어느 테이블에서 가져올지 모르기 때문에 오류가 발생합니다.


② 쉼표를 빼먹는다.

잘못된 예

SELECT CustomerName
City
FROM Customers;

열을 여러 개 작성할 때는 반드시 쉼표를 사용해야 합니다.

올바른 예

SELECT CustomerName,
       City
FROM Customers;

③ 테이블 이름을 잘못 입력한다.

FROM Customer

라고 쓰면 오류가 발생합니다.

실제 테이블 이름은

Customers

입니다.

철자를 정확하게 입력해야 합니다.


④ *와 열 이름을 같이 사용하는 실수

SELECT *,
       CustomerName
FROM Customers;

문법적으로는 실행되지만,

CustomerName이 두 번 출력되므로 거의 사용하지 않습니다.


2-10. 실무에서는 어떻게 사용할까요?

회사에서는

  • 모든 고객 조회
  • 상품 목록 조회
  • 직원 목록 조회
  • 주문 내역 조회

처럼 대부분의 작업이 SELECT에서 시작됩니다.

즉,

SQL을 배운다는 것은 SELECT를 제대로 이해하는 것부터 시작한다고 해도 과언이 아닙니다.


실습

다음 SQL을 직접 실행해 보세요.

실습 1

SELECT *
FROM Products;

무엇이 출력되는지 확인해 보세요.


실습 2

SELECT ProductName
FROM Products;

전체 결과와 어떤 차이가 있는지 비교해 보세요.


실습 3

SELECT ProductName,
       Price
FROM Products;

상품 이름과 가격만 출력되는지 확인해 보세요.


핵심 정리

✔ SELECT는 데이터를 조회하는 명령어이다.

✔ FROM은 데이터를 가져올 테이블을 지정한다.

✔ 별표(*)는 모든 열을 의미한다.

✔ 필요한 열만 선택하여 조회할 수 있다.

✔ SELECT는 데이터를 변경하지 않는다.


연습 문제

기본 문제

  1. SELECT의 역할을 설명해 보세요.
  2. 별표(*)는 무엇을 의미하나요?
  3. FROM은 왜 필요한가요?

응용 문제

  1. Customers 테이블에서 CustomerName과 Country만 조회하는 SQL을 작성해 보세요.
  2. Products 테이블에서 ProductName과 Price만 조회하는 SQL을 작성해 보세요.

도전 문제

다음 결과가 출력되도록 SQL을 작성해 보세요.

CustomerNameCountryCity

단, 별표(*)를 사용하지 않고 필요한 열만 선택하여 작성해 보세요.


이번 장의 마무리

이번 장에서는 SQL에서 가장 중요한 첫 번째 명령어인 SELECT를 배웠습니다.

처음에는 새로운 문법처럼 보일 수 있지만, SELECT는 사실 "무엇을 어디에서 가져올지"를 데이터베이스에 알려 주는 아주 간단한 문장입니다.

앞으로는 원하는 데이터를 조금 더 똑똑하게 찾아야 합니다. 예를 들어 "독일 고객만 보여 주세요.", "가격이 30달러 이상인 상품만 보여 주세요."처럼 조건을 붙여 조회하게 됩니다.

다음 장에서는 이러한 조건을 지정하는 WHERE 절을 배우며, 원하는 데이터만 정확하게 찾아오는 방법을 익혀 보겠습니다.