SQL Operators
SQL Operators: SQL에서 사용되는 연산자
SQL Operators는 데이터 조작, 비교, 연산 등을 수행하는 데 사용되는 기호 또는 키워드입니다. SQL 연산자는 값을 비교하거나, 계산하거나, 논리적 결합을 하는 데 자주 사용되며, 다양한 SQL 쿼리에서 필수적인 역할을 합니다.
1. SQL 연산자의 주요 종류
- 산술 연산자 (Arithmetic Operators): 숫자 값을 계산하는 연산자.
- 비교 연산자 (Comparison Operators): 두 값 간의 비교를 수행하는 연산자.
- 논리 연산자 (Logical Operators): 여러 조건을 결합하거나 조건을 논리적으로 평가하는 연산자.
- 비트 연산자 (Bitwise Operators): 비트 단위로 데이터를 처리하는 연산자.
- 기타 연산자 (Other Operators): 특수한 연산을 수행하는 연산자, 예를 들어 IN, BETWEEN, LIKE 등.
2. 산술 연산자 (Arithmetic Operators)
산술 연산자는 숫자 값을 이용해 수학적 연산을 수행할 때 사용됩니다.
연산자 | 설명 | 예시 |
---|---|---|
+ |
더하기 | a + b |
- |
빼기 | a - b |
* |
곱하기 | a * b |
/ |
나누기 | a / b |
% |
나머지 | a % b |
예제: 직원의 급여에 10% 보너스를 추가하여 출력
SELECT name, salary, salary * 1.10 AS total_salary_with_bonus
FROM employees;
이 쿼리는 급여에 10%의 보너스를 더한 결과를 출력합니다.
결과 예시:
name | salary | total_salary_with_bonus |
---|---|---|
John | 5000 | 5500 |
Jane | 6000 | 6600 |
3. 비교 연산자 (Comparison Operators)
비교 연산자는 두 값을 비교할 때 사용되며, 그 결과로 TRUE 또는 FALSE를 반환합니다.
연산자 | 설명 | 예시 |
---|---|---|
= |
두 값이 같으면 TRUE | a = b |
!= |
두 값이 다르면 TRUE | a != b |
<> |
두 값이 다르면 TRUE (SQL 표준) | a <> b |
> |
첫 번째 값이 두 번째 값보다 크면 TRUE | a > b |
< |
첫 번째 값이 두 번째 값보다 작으면 TRUE | a < b |
>= |
첫 번째 값이 두 번째 값보다 크거나 같으면 TRUE | a >= b |
<= |
첫 번째 값이 두 번째 값보다 작거나 같으면 TRUE | a <= b |
예제: 급여가 5000 이상인 직원 조회
SELECT name, salary
FROM employees
WHERE salary >= 5000;
이 쿼리는 급여가 5000 이상인 직원을 조회합니다.
결과 예시:
name | salary |
---|---|
John | 5000 |
Jane | 6000 |
4. 논리 연산자 (Logical Operators)
논리 연산자는 여러 조건을 결합하거나 논리적으로 평가하는 데 사용됩니다.
연산자 | 설명 | 예시 |
---|---|---|
AND |
두 조건이 모두 TRUE일 때 TRUE | a > 10 AND b < 20 |
OR |
두 조건 중 하나라도 TRUE이면 TRUE | a = 5 OR b = 10 |
NOT |
조건이 FALSE이면 TRUE, TRUE이면 FALSE | NOT a = 10 |
예제: 급여가 5000 이상이고 부서가 'Sales'인 직원 조회
SELECT name, salary, department
FROM employees
WHERE salary >= 5000 AND department = 'Sales';
이 쿼리는 급여가 5000 이상이고, Sales 부서에 속한 직원을 조회합니다.
결과 예시:
name | salary | department |
---|---|---|
John | 5000 | Sales |
예제: 부서가 'HR'이거나 급여가 6000 이상인 직원 조회
SELECT name, salary, department
FROM employees
WHERE department = 'HR' OR salary >= 6000;
이 쿼리는 부서가 HR이거나 급여가 6000 이상인 직원을 조회합니다.
결과 예시:
name | salary | department |
---|---|---|
Jane | 6000 | HR |
Alice | 7000 | Engineering |
5. 비트 연산자 (Bitwise Operators)
비트 연산자는 값을 비트 단위로 연산합니다. 이 연산자는 주로 특정 시스템 작업이나 권한 부여와 같은 데이터 처리에 사용됩니다.
연산자 | 설명 | 예시 |
---|---|---|
& |
AND 비트 연산 | a & b |
` | ` | OR 비트 연산 |
^ |
XOR 비트 연산 | a ^ b |
~ |
NOT 비트 연산 | ~a |
<< |
왼쪽 시프트 | a << 2 |
>> |
오른쪽 시프트 | a >> 2 |
예제: 비트 AND 연산
SELECT 5 & 3 AS result; -- 결과: 1 (비트 연산: 101 & 011)
6. 기타 연산자 (Other Operators)
6.1 IN 연산자
IN 연산자는 값이 지정된 목록 중 하나와 일치하는지 확인하는 데 사용됩니다.
예제: 부서가 'Sales', 'HR', 'Engineering'인 직원 조회
SELECT name, department
FROM employees
WHERE department IN ('Sales', 'HR', 'Engineering');
이 쿼리는 부서가 Sales, HR, Engineering 중 하나인 직원을 조회합니다.
결과 예시:
name | department |
---|---|
John | Sales |
Jane | HR |
Alice | Engineering |
6.2 BETWEEN 연산자
BETWEEN 연산자는 두 값 사이에 있는지 여부를 확인합니다.
예제: 급여가 4000과 7000 사이인 직원 조회
SELECT name, salary
FROM employees
WHERE salary BETWEEN 4000 AND 7000;
이 쿼리는 급여가 4000 이상 7000 이하인 직원을 조회합니다.
결과 예시:
name | salary |
---|---|
John | 5000 |
Jane | 6000 |
6.3 LIKE 연산자
LIKE 연산자는 패턴 매칭을 수행할 때 사용됩니다. 주로 문자열 검색에 사용되며, 와일드카드(%, _)를 지원합니다.
%
: 0개 이상의 문자를 대체._
: 1개의 문자를 대체.
예제: 이름이 'J'로 시작하는 직원 조회
SELECT name
FROM employees
WHERE name LIKE 'J%';
이 쿼리는 이름이 'J'로 시작하는 직원을 조회합니다.
결과 예시:
name
John
Jane
6.4 IS NULL 연산자
IS NULL 연산자는 NULL 값을 확인할 때 사용됩니다.
예제: 보너스가 NULL인 직원 조회
SELECT name, bonus
FROM employees
WHERE bonus IS NULL;
이 쿼리는 보너스가 NULL인 직원을 조회합니다.
결과 예시:
name | bonus |
---|---|
Bob | NULL |
7. 실전 예제
예제 1: 급여가 4000과 6000 사이이고 부서가 'Sales'인 직원 조회
SELECT name, salary, department
FROM employees
WHERE salary BETWEEN 4000 AND 6000
AND department = 'Sales';
이 쿼리는 급여가 4000과 6000 사이이고 Sales 부서에 속한 직원을 조회합니다.
결과 예시:
name | salary | department |
---|---|---|
John | 5000 | Sales |
예제 2: 이름이 'A'로 시작하고 보너스가 NULL인 직원 조회
SELECT name, bonus
FROM employees
WHERE name LIKE 'A%' AND bonus IS NULL;
이 쿼리는 이름이 'A'로 시작하고 보너스가 NULL인 직원을 조회합니다.
결과 예시:
name | bonus |
---|---|
Alice | NULL |
8. 요약
- 산술 연산자는 수학적 계산을 수행하며, 비교 연산자는 값을 비교합니다.
- 논리 연산자는 여러 조건을 결합하고 평가하며, 비트 연산자는 비트 단위의 연산을 수행합니다.
- IN, BETWEEN, LIKE, IS NULL 등의 연산자는 특정 조건을 확인하거나 문자열 패턴을 찾는 데 사용됩니다.
- 각 연산자는 다양한 SQL 쿼리에서 값을 평가하고 조건을 설정하는 데 필수적으로 사용됩니다.