SQL은 데이터를 조회, 삽입, 수정, 삭제하는 데 사용되는 언어입니다. 이 중 가장 자주 쓰이는 명령어가 바로 SELECT입니다. 이번 글에서는 SELECT 구문의 기본 구조부터 WHERE 조건절을 활용한 데이터 필터링까지 상세히 알아보겠습니다.
1. SELECT 구문의 기본 구조
SQL에서 데이터를 조회할 때는 다음과 같은 구조를 따릅니다.
SELECT 컬럼명1, 컬럼명2, ...
FROM 테이블명
WHERE 조건
ORDER BY 정렬기준
LIMIT 행개수;
가장 기본적인 SELECT 구문은 SELECT * FROM 테이블명; 처럼 사용하여 모든 컬럼을 조회할 수 있어요.
2. SELECT 예제 살펴보기
예를 들어, employees 테이블에서 모든 데이터를 조회하고 싶다면?
SELECT * FROM employees;
특정 컬럼만 조회하고 싶다면?
SELECT emp_name, department FROM employees;
3. WHERE 조건절 – 원하는 데이터만 추출하기
WHERE는 조건을 걸어 필요한 데이터만 필터링할 수 있는 구문입니다.
💡 기본 사용법
SELECT * FROM employees
WHERE department = '인사팀';
💡 비교 연산자
연산자 | 의미 |
= | 같다 |
!= 또는 <> | 같지 않다 |
> | 크다 |
< | 작다 |
>= | 크거나 같다 |
<= | 작거나 같다 |
예시:
SELECT * FROM employees
WHERE salary >= 3000;
4. 논리 연산자 – 조건 조합하기
연산자 | 의미 |
AND | 그리고 (모든 조건이 참) |
OR | 또는 (하나라도 참이면 참) |
NOT | 부정 (조건 반전) |
예시:
SELECT * FROM employees
WHERE department = '영업팀' AND salary >= 4000;
5. BETWEEN, IN, LIKE – 자주 쓰는 조건
BETWEEN … AND …
범위 조건을 줄 때 사용합니다.
SELECT * FROM employees
WHERE salary BETWEEN 3000 AND 5000;
IN (리스트 안에 있는 경우)
SELECT * FROM employees
WHERE department IN ('인사팀', '총무팀');
LIKE (패턴 검색)
패턴 | 의미 |
% | 임의의 문자열 (0자 이상) |
\_ | 임의의 한 문자 |
-- 이름이 '김'으로 시작하는 직원
SELECT * FROM employees
WHERE emp_name LIKE '김%';
6. IS NULL / IS NOT NULL
컬럼에 값이 없는지 확인할 때 사용합니다.
SELECT * FROM employees
WHERE phone_number IS NULL;
SELECT * FROM employees
WHERE phone_number IS NOT NULL;
7. ORDER BY – 정렬 조건
조회된 결과를 정렬하고 싶을 때 사용합니다.
-- 급여를 내림차순으로 정렬
SELECT * FROM employees
ORDER BY salary DESC;
기본값은 오름차순(ASC)입니다.
8. LIMIT – 결과 개수 제한 (MySQL 기준)
SELECT * FROM employees
LIMIT 5;
LIMIT은 상위 몇 개의 행만 보고 싶을 때 유용합니다.
📌 정리 요약
구문 | 구문 |
SELECT | 조회할 컬럼 지정 |
FROM | 테이블 명시 |
WHERE | 조건 설정 |
ORDER BY | 정렬 기준 |
LIMIT | 출력 행 개수 제한 |
🎯 실전 연습 문제
Q1. students 테이블에서 국어 점수가 80점 이상이고, 수학 점수가 70점 이상인 학생만 조회하세요.
SELECT * FROM students
WHERE korean >= 80 AND math >= 70;
Q2. 이름에 '민'자가 들어가는 직원을 검색하세요.
SELECT * FROM employees
WHERE emp_name LIKE '%민%';
마무리
SELECT 구문과 WHERE 조건절은 SQLD 뿐 아니라 실무에서도 가장 많이 사용되는 문법입니다. 다양한 연산자와 조건들을 조합해 원하는 데이터를 정확히 추출할 수 있어야 해요. 다음 시간에는 JOIN의 모든 것을 배우며 두 개 이상의 테이블을 연결해 조회하는 방법을 학습할 거예요.
'프로그래밍' 카테고리의 다른 글
GROUP 함수와 집계 처리 – SQLD 완벽 정리 (2) | 2025.08.05 |
---|---|
JOIN의 모든 것 – 관계형 데이터베이스의 핵심 연결 기술 (2) | 2025.08.04 |
SQL 기본 문법 총정리 (DDL, DML, DCL) (0) | 2025.08.02 |
데이터 무결성과 제약조건: 정확하고 신뢰할 수 있는 데이터베이스의 기반 (1) | 2025.08.02 |
정규화와 이상 현상: 데이터 구조를 더 깔끔하고 안정적으로 만드는 법 (3) | 2025.08.01 |