코딩 스쿨 SQL

언어선택 : HTMLCSSJAVAJAVASCRIPTMYSQLSQL PHP

SQL Operators

SQL Operators: SQL에서 사용되는 연산자

SQL Operators데이터 조작, 비교, 연산 등을 수행하는 데 사용되는 기호 또는 키워드입니다. SQL 연산자는 값을 비교하거나, 계산하거나, 논리적 결합을 하는 데 자주 사용되며, 다양한 SQL 쿼리에서 필수적인 역할을 합니다.

1. SQL 연산자의 주요 종류

  1. 산술 연산자 (Arithmetic Operators): 숫자 값을 계산하는 연산자.
  2. 비교 연산자 (Comparison Operators): 두 값 간의 비교를 수행하는 연산자.
  3. 논리 연산자 (Logical Operators): 여러 조건을 결합하거나 조건을 논리적으로 평가하는 연산자.
  4. 비트 연산자 (Bitwise Operators): 비트 단위로 데이터를 처리하는 연산자.
  5. 기타 연산자 (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 쿼리에서 값을 평가하고 조건을 설정하는 데 필수적으로 사용됩니다.

copyright ⓒ 스타트코딩 all rights reserved.
이메일 : startcodingim@gamil.com