backend

[SQL 입문] 필요한 데이터만 콕 집어 가져올 수 있는 WHERE 절

KUKJIN LEE
KUKJIN LEE
2026년 1월 27일
1

사용자는 테이블에 있는 모든 데이터를 다 보고 싶어 하지는 않습니다. 오히려 특정 항목에 대한 데이터만 가져오고 싶을 때가 훨씬 많습니다.

예를 들어, 어떤 사용자의 이메일이나 ID는 알고 있는데, 그 사람이 언제 우리 앱에 가입했는지 확인하고 싶다고 가정해 봅시다. 이때 전체 데이터를 뒤지는 대신, 원하는 조건에 맞춰 검색 범위를 좁히는 '필터링'이 필요합니다.

이 작업은 SELECT 명령어(문장) 끝에 WHERE 문을 붙여서 실행할 수 있습니다.

만약 ID가 "2"인 사용자만 딱 골라서 보고 싶다면, 문장 끝에 WHERE id=2;를 추가하면 됩니다.

SELECT * FROM Users WHERE id=2;

이전에 알려드린 '특정 컬럼만 선택하기' 기능과 조합할 수도 있습니다. ID가 2인 사용자의 가입일만 콕 집어 가져오려면 다음과 같이 작성하면 됩니다.

SELECT createdAt FROM Users WHERE id=2;

WHERE 문은 어떤 컬럼(열)에도 사용할 수 있습니다. id뿐만 아니라 이름(name), 이메일(email), 날짜(date) 등으로도 찾을 수 있습니다.

즉 더 똑똑하게 필터링하기 (조건 검색)입니다.

WHERE 문은 단순히 값이 같은지(EQUAL) 확인하는 것보다 훨씬 복잡하고 똑똑한 방식으로 필터링할 수 있습니다.

사용자의 나이(age) 정보가 포함된 Users 테이블이 있다고 상상해 봅시다.

[현재 Users 테이블 데이터]

ID Name Email Age createdAt updatedAt
1 KJ kj@email.com 25 2026-01-27 2026-01-27
2 SJ sj@email.com 26 2026-01-27 2026-01-27
3 SH sh@email.com 27 2026-01-27 2026-01-27

예를 들어, 나이가 25살보다 많은(>) 사용자만 뽑아보겠습니다.

SELECT * FROM Users WHERE age > 25;

그럼 25살 이상이 아니라 초과이기 때문에 Name이 KJ를 제외한 나머지 SJ, SH만 결과값으로 출력하게 됩니다!

#MySQL#SQL#WHERE