SQL WHERE 절과 연산자 사용하기

WHERE 절 이란?

SQL에서 WHERE 절은 데이터베이스에서 특정한 조건을 가진 행을 선택하는 역할을 합니다. WHERE 절은 데이터를 필터링하고 원하는 결과를 얻기 위해 중요한 도구로 활용됩니다.

WHERE 절 기본 구문

WHERE 절은 SQL 쿼리에서 특정 조건을 지정하여 데이터를 필터링 하는 데 사용됩니다. 기본적인 WHERE 절의 구문은 다음과 같습니다.

SQL
SELECT column1, column2, ...
FROM table_name
WHERE condition;
SQL

💡여기서 각 부분의 역할은 다음과 같습니다.

  • SELECT column1, column2, …: 원하는 열을 선택합니다. 하나 이상의 열을 선택할 수 있습니다.
  • FROM table_name: 데이터를 추출할 대상 테이블의 이름을 지정합니다.
  • WHERE condition: 데이터를 선택할 때 적용할 조건을 지정합니다. 이 부분이 WHERE 절의 핵심입니다.

WHERE 절 사용법

WHERE를 사용하면 특정 조건을 만족하는 행만을 결과로 반환할 수 있습니다. 여기서 WHERE의 다양한 사용법에 대해 설명하겠습니다.

비교 연산자 사용

가장 기본적인 WHERE 절의 사용법 중 하나는 비교 연산자를 활용하는 것입니다. 다음은 간단한 예제입니다.

SQL
SELECT column1, column2, ...
FROM table_name
WHERE column_name = value;
SQL

여기서 column_name은 비교하고자 하는 열의 이름이며, value는 조건과 비교할 값입니다. 예를 들어, 급여가 50000 이상인 직원을 선택하려면 다음과 같이 사용합니다.

SQL
SELECT employee_id, employee_name, salary
FROM employees
WHERE salary >= 50000;
SQL

논리 연산자 사용

여러 조건을 결합하려면 논리 연산자를 사용할 수 있습니다. AND, OR, NOT 등을 활용하여 조건을 결합할 수 있습니다. 예를 들어, 급여가 50000 이상이면서 부서가 ‘IT’인 직원을 선택하려면 다음과 같이 사용합니다.

SQL
SELECT employee_id, employee_name, salary, department
FROM employees
WHERE salary >= 50000 AND department = 'IT';
SQL

패턴 매칭

LIKE 연산자를 사용하여 문자열 패턴을 검색할 수 있습니다. 예를 들어, 이름이 ‘김’으로 시작하는 직원을 찾으려면 다음과 같이 사용합니다.

SQL
SELECT employee_id, employee_name
FROM employees
WHERE employee_name LIKE '김%';
SQL

범위 지정

BETWEEN 연산자를 사용하여 값의 범위를 지정할 수 있습니다. 예를 들어, 급여가 30000에서 50000 사이인 직원을 선택하려면 다음과 같이 사용합니다.

SQL
SELECT employee_id, employee_name, salary
FROM employees
WHERE salary BETWEEN 30000 AND 50000;
SQL

NULL 값 처리

NULL 값을 처리하기 위해 IS NULL 또는 IS NOT NULL을 사용할 수 있습니다. 예를 들어, 이메일 주소가 없는 직원을 찾으려면 다음과 같이 사용합니다.

SQL
SELECT employee_id, employee_name, email
FROM employees
WHERE email IS NULL;
SQL

IN 연산자 사용

IN 연산자를 사용하여 특정 값들 중 하나에 일치하는 행을 선택할 수 있습니다. 예를 들어, 부서가 ‘IT’ 또는 ‘HR’인 직원을 선택하려면 다음과 같이 사용합니다.

SQL
SELECT employee_id, employee_name, department
FROM employees
WHERE department IN ('IT', 'HR');
SQL

이렇게 하면 ‘IT’ 또는 ‘HR’ 부서에 속한 직원들이 결과로 반환됩니다. IN 연산자는 여러 값을 한 번에 비교할 때 유용하게 사용됩니다.

서브쿼리 사용

WHERE 절 안에서 서브쿼리를 사용하여 좀 더 복잡한 조건을 처리할 수 있습니다. 예를 들어, 다른 테이블에서 가져온 조건을 활용하여 데이터를 선택할 수 있습니다.

💡이렇게 다양한 WHERE 절의 활용법을 이용하면 SQL 쿼리를 통해 데이터를 원하는 조건에 맞게 효과적으로 검색하고 조작할 수 있습니다.

WHERE 절과 연산자

WHERE 절과 연산자는 SQL 쿼리에서 데이터를 조건에 따라 검색하거나 필터링하는 데 사용되는 중요한 요소입니다

비교연산자

비교 연산자설명예제
=두 값이 동일한지를 확인합니다.salary = 50000
<왼쪽 값이 오른쪽 값보다 작은지를 확인합니다.salary < 50000
>왼쪽 값이 오른쪽 값보다 큰지를 확인합니다.salary > 50000
<=왼쪽 값이 오른쪽 값보다 작거나 같은지를 확인합니다.salary <= 50000
>=왼쪽 값이 오른쪽 값보다 크거나 같은지를 확인합니다.salary >= 50000
LIKE문자열 패턴에 대한 일치 여부를 확인합니다.
% : 1개 이상의 모든 문자열을 나타냅니다.
name LIKE ‘김%’
LIKE문자열 패턴에 대한 일치 여부를 확인합니다.
‘_’ : 정확히 한 문자를 나타냅니다.
name LIKE ‘김_’
BETWEEN값이 주어진 범위 내에 있는지를 확인합니다.(이상,이하)salary BETWEEN 50000 AND 80000
IS NULL특정 열의 값이 NULL인지를 확인합니다.email IS NULL
IS NOT NULL특정 열의 값이 NULL이 아닌지를 확인합니다.email IS NOT NULL

💡이 표는 주로 WHERE 절에서 사용되는 일반적인 비교 연산자에 대한 설명과 각각의 예제를 보여줍니다. 이러한 연산자를 조합하여 SQL 쿼리를 작성하면 데이터베이스에서 원하는 조건을 충족하는 데이터를 검색할 수 있습니다.

논리연산자

논리 연산자설명예제
AND모든 조건이 참일 때 전체 조건이 참이 됩니다.salary > 50000 AND department = ‘IT’
OR여러 조건 중 하나만 참이면 전체 조건이 참이 됩니다.department = ‘IT’ OR department = ‘인사’
NOT주어진 조건을 부정하여 조건이 거짓이면 참이 됩니다.NOT department = ‘재무’
IN주어진 값 목록 중 하나와 일치하는 경우 참이 됩니다.department IN (‘IT’, ‘인사’)

💡이 표는 주로 사용되는 논리 연산자에 대한 설명과 각각의 예제를 나타냅니다. 논리 연산자를 조합하여 SQL 쿼리를 작성하면 여러 조건을 고려한 복잡한 검색을 수행할 수 있습니다.

WHERE 절 활용 예제

예제로 사용할 테이블은 학생 정보를 담고 있는 ‘students’라 하고, 테이블은 다음과 같은 구조를 가지고 있습니다.

SQL
CREATE TABLE students (
    student_id INT PRIMARY KEY,
    student_name VARCHAR(50),
    age INT,
    grade CHAR(1),
    department VARCHAR(50)
);

INSERT INTO students VALUES (1, '홍길동', 20, 'A', '컴퓨터 공학');
INSERT INTO students VALUES (2, '김영희', 22, 'B', '전자 공학');
INSERT INTO students VALUES (3, '이철수', 21, 'A', '물리학');
INSERT INTO students VALUES (4, '박지영', 23, 'C', '경영학');
INSERT INTO students VALUES (5, '최성민', 20, 'B', '컴퓨터 공학');
SQL

이제 WHERE 절을 사용하여 특정 조건을 만족하는 행을 선택하는 예제를 만들어 보겠습니다. 예를 들어, 나이가 21살 이상인 학생들의 정보를 검색하고 싶다면 다음과 같은 SQL 쿼리를 사용할 수 있습니다.

SQL
SELECT * FROM students
WHERE age >= 21;
SQL

이 쿼리는 ‘students’ 테이블에서 나이가 21살 이상인 모든 학생의 정보를 선택합니다. 여기서 WHERE age >= 21은 조건을 정의하고, 이 조건을 만족하는 행들만이 결과로 반환됩니다.

SQL
+------------+--------------+-----+-------+--------------+
| student_id | student_name | age | grade | department   |
+------------+--------------+-----+-------+--------------+
|          2 | 김영희         |  22 | B     | 전자 공학   |
|          3 | 이철수         |  21 | A     | 물리학      |
|          4 | 박지영         |  23 | C     | 경영학      |
+------------+--------------+-----+-------+--------------+
SQL

💡이렇게 WHERE 절을 사용하여 특정 조건을 만족하는 데이터를 검색할 수 있습니다.

결론

이 글에서는 SQL의 WHERE 절과 다양한 연산자의 사용법에 대해 살펴보았습니다. WHERE 절은 데이터베이스에서 특정한 조건을 가진 행을 선택하여 데이터를 필터링하고, 원하는 결과를 얻는 데에 중요한 역할을 합니다.

기본적인 WHERE 절의 구문을 살펴보았으며, 다양한 연산자를 활용하여 조건을 지정하는 방법에 대해 알아보았습니다. 비교 연산자를 이용한 단순한 값의 비교부터 논리 연산자를 사용하여 복잡한 조건의 결합, 그리고 LIKE 연산자를 활용한 패턴 매칭, BETWEEN 연산자를 사용한 범위 지정, 그리고 IN 연산자를 통한 여러 값의 비교 등 다양한 활용법을 살펴보았습니다.

WHERE 절과 연산자의 다양한 활용법을 이해하면 SQL을 효과적으로 사용하여 데이터베이스에서 필요한 정보를 추출하고 조작하는 데 큰 도움이 됩니다.👍

Leave a Comment