데이터베이스는 데이터를 저장하는 창고다. 하지만 창고에 물건을 쌓아두기만 하면 아무 의미가 없다. 필요할 때 물건을 꺼내서 확인하고, 사용해야 가치가 있다. 바로 이 '데이터를 꺼내보는 행위'를 조회라고 한다. 그리고 이 조회를 할 때 사용하는 가장 기본적인 명령어가 바로SELECT다.
가장 간단한 데이터 조회
데이터를 조회하는 가장 기본적이고 간단한 방법부터 알아보자. SELECT와 FROM 두 가지 키워드만 알면 된다.
- SELECT : 무엇을 가져올 것인가? (조회할 열, 즉 컬럼을 지정한다)
- FROM : 어디에서 가져올 것인가? (데이터가 들어있는 테이블을 지정한다)
가장 단순하게 customers라는 테이블에 들어있는 모든 고객 정보를 전부 꺼내보고 싶다고 해보자. 이럴 때 모든 열(컬럼)을 의미하는 특별한 기호인 *(애스터리스크, Asterisk) 와일드카드를 사용한다.
select *
from customers;
- SELECT * FROM 테이블이름; -> 이 구문은 "이 테이블에 있는 모든 열의 데이터를 다 보여줘" 라는 의미다.
- Select *은 테이블의 구조나 내용을 빠르게 확인할 때 유용하다.
필요한 데이터만 골라보는 이유
"SELECT *" 는 분명 편리하지만, 항상 좋은 것만은 아니다. 만약 customers 테이블에 수백만 명의 고객 데이터가 들어있고, 열(Column)도 50개가 넘는다고 상상해 봐라. 그저 이름과 이메일만 확인하고 싶을 뿐인데, SELECT 용하면 어떤 문제가 발생할까?
1) 성능저하: 불필요한 데이터까지 모두 읽어오느라 데이터베이스 시스템에 큰 부담을 준다. 조회 속도가 당연히 느려진다.
2) 가독성 저하: 내가 보고 싶은 데이터는 '이름'과 '이메일' 뿐인데, 수십 개의 열이 함께 표시되니 한눈에 파악하기 어렵다.
3) 네트워크 트래픽 낭비: 데이터베이스 서버에서 우리 컴퓨터(클라이언트)로 데이터를 전송할 때, 필요 없는 데이터까지 함께 보내므로 네트워크 자원을 낭비하게 된다
그래서 실무에서는 "SELECT *" 사용을 최소화하고, 꼭 필요한 열만 명시적으로 지정해서 조회하는 습관을 들여야 한다.
참고
우리는 학습을 목적으로 MySQL 데이터베이스 서버와 MySQL 워크벤치 같은 클라이언트 도구를 한 컴퓨터에 함께 설치했다.
일반적으로는 데이터베이스 서버를 별도의 컴퓨터에 설치하고, 사용자는 자신의 PC에서 MySQL 워크벤치와 같은 클라이언트 접속 도구를 이용해 서버에 접속한다.
특정 열만 선택하기
SELECT 열이름1, 열이름2, ... FROM 테이블이름;
- "SELECT *" 대신, SELECT 절에 직접 보고 싶은 열의 이름들을 콤마(,)로 구분하여 적어주면 된다.
SELECT name, email FROM customers;

- name과 email 열만 깔끔하게 조회된다.
열 이름에 별칭(Alias) 붙이기: AS
열 이름에 '별칭(Alias)'을 붙여서 조회 결과의 헤더를 바꿀 수 있다. AS 키워드를 사용한다
SELECT 열이름1 AS 별칭1, 열이름2 AS 별칭2, ... FROM 테이블이름;

- 결과 테이블의 헤더(머리글)가 우리가 지정한 '고객명'과 '이메일'로 바뀐 것을 볼 수 있다.
별칭을 사용하는 이유?
- 가독성 향상: 조회 결과를 '고객명', '이메일' 처럼 한글로 표시하면, 이해하기 쉬운 보고서가 된다.
- 열 이름의 충돌 방지: 여러 테이블을 JOIN해서 조회할 때, 서로 다른 테이블에 같은 이름의 열이 존재할 수 있다. 이때, 별칭을 사용해 각 열을 명확하게 구분할 수 있다.
AS 키워드는 생략하고 "SELECT 열이름1 별칭 1"과 같이 사용할 수도 있지만, 쿼리를 명확하게 만들기 위해 AS를 써주는 것이 좋다.
SELECT name 고객명, email 이메일 FROM customers;
별칭 이름 짓는 룰
별칭도 앞서 배운 테이블과 컬럼 이름 규칙을 따르면 된다. 별칭도 마찬가지로 백틱으로 감싸면 특수문자를 사용할 수 있다.
'데이터 베이스 > SQL 첫걸음(인프런 강의)' 카테고리의 다른 글
| Ch04. 조회와 정렬 - order by (0) | 2025.10.17 |
|---|---|
| Ch04. 조회와 정렬 - where (0) | 2025.10.17 |
| Ch03. 데이터 관리 - 제약 조건 활용 (0) | 2025.10.08 |
| Ch03. 데이터 관리 - DML(등록, 수정, 삭제) (0) | 2025.10.08 |
| Ch03. 데이터 관리 - DDL(테이블 변경, 제거) (0) | 2025.10.08 |