본문 바로가기
IT 공부/SQL

SQLD - (11) SELECT 문

by Happy_Bin 2025. 7. 29.

SELECT — 원하는 데이터를 꺼내는 첫 번째 문


SELECT 문이란?

SELECT는 데이터베이스에서 필요한 데이터를 조회할 때 사용하는 명령어다.
데이터를 조건에 따라 필터링(WHERE) 하고, 별명(ALIAS) 을 부여하거나
연산, 정렬, 연결을 수행하여 원하는 형태로 뽑아낼 수 있다.

SELECT는 SQL의 본질이자 시작점이다.
데이터를 보고 싶다면, 어떻게든 SELECT를 써야 한다.
SELECT를 잘 안다는 건 단순히 구문을 외운다는 게 아니다.
데이터를 어떻게 바라볼 것인지, 어떤 기준으로 추출할 것인지,
그리고 그 결과를 어떻게 구조화할 것인지를 판단한다는 뜻이다.


✅ SELECT 기본 문법

SELECT 컬럼1 [, 컬럼2, ...]
FROM 테이블1 [, 테이블2, ...]
WHERE 조건;

이 세 줄 안에 대부분의 데이터 조회 패턴이 담겨 있다.
FROM은 기준 테이블을 정하고,
WHERE는 조건으로 행을 거르고,
SELECT는 보여줄 컬럼을 선택한다.

예시:

SELECT A.회원번호, B.예약번호
FROM 회원 A, 예약 B
WHERE A.회원명 = B.예약자;

🔍 해설

  1. 회원 테이블을 A, 예약 테이블을 B로 별칭 부여
  2. A.회원명과 B.예약자가 같은 데이터만 필터링
  3. 그에 해당하는 A.회원번호, B.예약번호를 출력

이 구조는 테이블 간 조인을 통해 관계 데이터를 결합하는 기본 방식이다.
SQL은 관계의 언어다.
테이블이 분리된 이유는 구조화된 관계를 만들기 위해서고,
SELECT는 그 관계를 ‘읽는’ 첫 단계다.


✅ Alias (별칭) 사용하기

별칭은 AS 키워드를 통해 컬럼명이나 테이블에 별명을 부여하는 방법이다.
가독성을 높이고, 연산 결과에 명확한 이름을 붙이기 위해 사용된다.

SELECT 회원번호 AS ID, 회원명
FROM 회원;
  • 회원번호 컬럼에 대해 ID라는 별칭을 부여한 예시
  • AS는 생략 가능 → 회원번호 ID로도 표현 가능

🔍 해설

  1. 회원 테이블에서
  2. 회원번호를 ID로 표시
  3. ID, 회원명을 함께 출력

✅ SELECT 실행 순서 Tip 🧠

SQL 문법은 우리가 작성하는 순서와 실행되는 순서가 다르다.
정확한 흐름을 이해하면 복잡한 쿼리도 쉽게 해석할 수 있다.

1. FROM          👉 어떤 테이블을 기준으로 할지 결정  
2. WHERE         👉 조건에 맞는 행(Row)만 필터링  
3. GROUP BY      👉 데이터를 그룹핑  
4. HAVING        👉 그룹핑된 결과에 조건을 적용  
5. SELECT        👉 필요한 컬럼을 선택  
6. ORDER BY      👉 정렬

✅ 산술 연산자 사용하기

SQL에서는 숫자 데이터를 대상으로 *산술 연산(+, -, , /, %) 을 수행할 수 있다.

SELECT 수학, 영어,
       수학 + 영어 AS 총점,
       (수학 + 영어) / 2 AS 평균
FROM 성적;

🔍 해설

  1. 수학 + 영어 → 총점으로 표시
  2. (수학 + 영어) / 2 → 평균으로 표시
  3. 수학, 영어, 총점, 평균을 함께 출력

⚠️ 주의

  • Null과 산술연산 → 결과는 항상 Null
  • 0으로 나누기 → 오류 발생!

✅ 문자열 합성 연산자 (||)

||는 문자열을 이어 붙이는 연산자다.
문자열과 문자열, 문자열과 칼럼 등 조합이 가능하다.

SELECT FNAME || ' ' || LNAME AS FULL_NAME
FROM MEMBER;

🔍 해설

  1. FNAME과 LNAME 사이에 공백 ' ' 삽입
  2. 이름 전체를 하나의 문자열로 만든 후 FULL_NAME이라는 별칭 부여

✨ 정리하며 — SELECT는 데이터 탐색의 시작점이다

SELECT는 단순한 조회 이상의 의미를 가진다.
우리는 SELECT를 통해 수많은 데이터 중 진짜 필요한 정보만을 걸러내고,
필요하다면 가공하고, 정리하고, 의미를 부여한다.

좋은 SELECT 문은 요구사항을 가장 효율적이고 명확하게 표현하는 문장이다.
그리고 그것은 SQL의 문법을 아는 것보다,
데이터의 구조와 흐름을 이해하는 능력에서 비롯된다.


📮 BeanSight | 해피빈(HappyBin)

데이터의 본질은 식별에서 시작된다.
관계는 흐름을 만들고, 식별자는 구조를 완성한다.

'IT 공부 > SQL' 카테고리의 다른 글

SQL - (13) WHERE절  (4) 2025.07.31
SQL - (12) 함수  (2) 2025.07.30
SQLD - (10) 관계형 데이터베이스 개요  (1) 2025.07.26
SQLD - (9) 식별자  (2) 2025.07.25
SQLD - (8) 모델이 표현하는 트랜잭션의 이해  (0) 2025.07.24