Post

1.2 Where (SQL)

WHERE문의 필요성

실무에서 데이터베이스를 다루다 보면, 특정 조건에 맞는 데이터를 조회해야 할 때가 많다. 예를 들어, 고객 정보를 관리하는 customer 테이블이 있을 때, 특정 회원의 정보를 조회하거나, 특정 기간 동안 가입한 회원들을 찾아야 할 수 있다. 이번 글에서는 이러한 상황에 활용할 수 있는 SQL 구문이 WHERE이다.

Customer Table Fig. 0: Customer Table

WHERE문의 예시

첫 번째 예시로, Fig. 0의 customer 테이블에서 ‘홍길동’이라는 이름을 가진 회원의 정보를 조회하는 경우를 생각해보자. 이때 사용하는 쿼리는 다음과 같다:

1
SELECT * FROM customer WHERE name = '홍길동';

여기서 WHERE 절은 쿼리에서 필터링 조건을 정의하는 데 사용된다. WHERE 절 뒤에 오는 조건은 특정 데이터를 필터링하는 기준이 된다. 위 예시에서는 ‘name’이 ‘홍길동’인 행만 선택하는 조건을 지정하고 있다.

두 번째 예시로는, 2022년 1월 1일 이후에 가입한 모든 회원을 조회하는 경우를 들 수 있다. 이 경우의 쿼리는 다음과 같다:

1
SELECT * FROM customer WHERE created_at > '2022-01-01';

이 쿼리에서는 ‘created_at’이 2022년 1월 1일을 초과하는 데이터만 선택한다. 이처럼 WHERE 절은 다양한 조건을 설정하여 원하는 데이터를 정확하게 필터링할 수 있게 해준다.

연산자

마지막으로 SQL에서 조건문을 작성할 때 사용되는 연산자에 대해 알아보자. WHERE 구문의 조건절은 연산자와 값으로 작성된다. 조건문에는 주로 비교 연산자와 논리 연산자가 사용된다. 비교 연산자는 값의 크기나 동등성을 비교할 때 사용되며, 논리 연산자는 여러 조건을 조합할 때 사용된다.

비교 연산자

연산자의미
=같다
>초과
<미만
>=이상
<=이하
!= (<>)같지 않다

논리 연산자

연산자의미
AND두 조건이 모두 참일 때 참을 반환한다.
OR두 조건 중 하나만 참이어도 참을 반환한다.
NOT참을 거짓으로, 거짓을 참으로 변환한다.

연산자의 활용

이 연산자들을 사용하여 더 복잡한 조건을 만들 수 있다. 예를 들어, 2022년 1월 1일 이후에 가입한 남성 회원을 찾고 싶다면 다음과 같은 쿼리를 작성할 수 있다:

1
SELECT * FROM customer WHERE created_at > '2022-01-01' AND gender = '남성';

WHERE는 강력한 데이터베이스 쿼리는 도구이며, 이를 통해 원하는 데이터를 효율적으로 추출할 수 있다.

This post is licensed under CC BY 4.0 by the author.