이 글에서는 SQL Server에서 두 값을 비교하는 데 사용되는 비교 연산자(Comparison Operator)를 소개하고, 실제 예제와 함께 각 연산자의 사용 방법을 자세히 설명합니다.
비교 연산자란?
비교 연산자는 주로 SELECT 문의 WHERE 절에서 사용되어, 어떤 레코드(행)를 조회할지 조건을 지정하는 역할을 합니다. 즉, 특정 조건과 일치하거나 일치하지 않는 데이터만 필터링하여 결과로 반환할 수 있습니다.
SQL Server(T-SQL)의 주요 비교 연산자 목록
| 연산자 | 설명 |
|---|---|
| = | 같음 |
| <> | 같지 않음 |
| != | 같지 않음 |
| > | 보다 큼 |
| >= | 크거나 같음 |
| < | 보다 작음 |
| <= | 작거나 같음 |
비교 연산자 사용 예제
SQL Server와 Transact-SQL에는 다양한 비교 연산자가 있으며, 아래에서 자주 사용되는 연산자들의 실제 사용법을 살펴보겠습니다. 예제에서는 직원 정보를 담은 'nhanvien' 테이블을 사용합니다.
1. 같음 연산자(=)
SELECT *
FROM nhanvien
WHERE ten = 'Jane';
위 예제는 SELECT 문이 'nhanvien' 테이블에서 이름(ten)이 'Jane'인 직원의 행들을 모두 반환합니다.
2. 같지 않음 연산자(<>, !=)
SQL Server에서는 <> 또는 != 두 가지 방식으로 '같지 않음' 조건을 확인할 수 있습니다.
SELECT *
FROM nhanvien
WHERE ten <> 'Jane';
위 SELECT 문은 이름이 'Jane'이 아닌 모든 행을 반환합니다. 동일한 결과는 다음과 같이 작성할 수도 있습니다.
SELECT *
FROM nhanvien
WHERE ten != 'Jane';
두 쿼리 모두 동일한 결과 집합을 생성합니다. 참고로 ANSI SQL 표준에서는 <> 연산자를 권장합니다.
3. 보다 큼 연산자(>)
SELECT *
FROM nhanvien
WHERE nhanvien_id > 3000;
위 SELECT 문의 실행 결과는 직원 ID(nhanvien_id)가 3000보다 큰 행들입니다. ID가 정확히 3000인 직원은 결과에 포함되지 않습니다.
4. 크거나 같음 연산자(>=)
SELECT *
FROM nhanvien
WHERE nhanvien_id >= 3000;
위 예제는 직원 ID가 3000보다 크거나 같은 행들을 반환합니다. 앞선 예제와 달리 ID 3000인 직원도 결과에 포함됩니다.
5. 보다 작음 연산자(<)
SELECT *
FROM nhanvien
WHERE nhanvien_id < 500;
마찬가지로 이 명령의 결과는 직원 ID가 500보다 작은 행들이며, ID 500은 포함되지 않습니다.
6. 작거나 같음 연산자(<=)
SELECT *
FROM nhanvien
WHERE nhanvien_id <= 500;
이 명령의 결과는 직원 ID 값이 500보다 작거나 같은 행들입니다.
고급 연산자 및 논리 연산자
WHERE 절에서는 위의 단순 비교 연산자 외에도 더 복잡한 조건을 구성할 수 있는 고급 연산자들을 사용할 수 있습니다. 대표적인 연산자는 다음과 같으며, 각 연산자에 대한 자세한 내용은 별도 문서에서 다룹니다.
- IN () — 지정된 목록에 값이 포함되는지 확인
- NOT — 조건의 부정
- BETWEEN — 특정 범위 내의 값인지 확인
- IS NULL / IS NOT NULL — NULL 값 여부 확인
- LIKE — 패턴 매칭 검색
- EXISTS — 서브쿼리 결과의 존재 여부 확인
이러한 연산자들을 적절히 조합하면 훨씬 정교하고 유연한 데이터 조회가 가능합니다. 기본 비교 연산자부터 차근차근 익혀두면 실무에서 복잡한 쿼리를 작성하는 데 큰 도움이 됩니다.