SQL : 비교 연산자
이 SQL 튜토리얼에서는 SQL에서 같음과 같지 않음을 테스트하는 데 사용되는 모든 비교 연산자와 고급 연산자를 살펴봅니다.
설명
비교 연산자는 WHERE 절에서 선택해야 할 레코드를 결정하는 데 사용됩니다.
다음은 SQL에서 사용할 수 있는 비교 연산자 목록입니다.
비교 연산자 | 설명 |
---|---|
= | 같음 |
<> | 같지 않음 |
!= | 같지 않음 |
> | 보다 큼 |
>= | 크거나 같음 |
< | 보다 작음 |
<= | 작거나 같음 |
IN ( ) | 리스트의 값과 일치 |
NOT | 부정 연산 |
BETWEEN | 범위 내(포함) |
IS NULL | NULL 값 |
IS NOT NULL | Non-NULL 값 |
LIKE | %와 _를 사용하여 패턴 일치 |
EXISTS | 하위 쿼리가 하나 이상의 행을 반환하면 조건 충족 |
DDL/DML 예제
튜토리얼을 따라 하려면 테이블을 생성하는 DDL과 데이터를 채우는 DML을 받으세요. 그런 다음 자신의 데이터베이스에서 예제를 사용해 보세요!
예제 - 동등 연산자
SQL에서는 = 연산자를 사용하여 쿼리에서 동일성 여부를 테스트할 수 있습니다.
이 예제에서는 다음과 같은 데이터가 있는 suppliers라는 테이블이 있습니다.
supplier_id | supplier_name | city | state |
---|---|---|---|
100 | Microsoft | Redmond | Washington |
200 | Mountain View | California | |
300 | Oracle | Redwood City | California |
400 | Kimberly-Clark | Irving | Texas |
500 | Tyson Foods | Springdale | Arkansas |
600 | SC Johnson | Racine | Wisconsin |
700 | Dole Food Company | Westlake Village | California |
800 | Flowers Foods | Thomasville | Georgia |
900 | Electronic Arts | Redwood City | California |
다음 SQL 문을 입력합니다. Try it
SELECT *
FROM suppliers
WHERE supplier_name = 'Microsoft';
1개의 레코드가 선택됩니다. 아래는 표시되는 결과입니다.
supplier_id | supplier_name | city | state |
---|---|---|---|
100 | Microsoft | Redmond | Washington |
이 예제에서 위의 SELECT 문은 suppliers 테이블에서 supplier_name이 Microsoft와 같은 모든 행을 반환합니다.
예제 - 부등 연산자
SQL에서는 쿼리에서 부등식을 테스트하는 두 가지 방법이 있습니다.
<> 연산자 또는 != 연산자를 사용할 수 있습니다. 둘 다 동일한 결과를 반환합니다.
이전 예제와 동일한 suppliers 테이블을 사용하겠습니다.
supplier_id | supplier_name | city | state |
---|---|---|---|
100 | Microsoft | Redmond | Washington |
200 | Mountain View | California | |
300 | Oracle | Redwood City | California |
400 | Kimberly-Clark | Irving | Texas |
500 | Tyson Foods | Springdale | Arkansas |
600 | SC Johnson | Racine | Wisconsin |
700 | Dole Food Company | Westlake Village | California |
800 | Flowers Foods | Thomasville | Georgia |
900 | Electronic Arts | Redwood City | California |
다음 SQL 문을 입력하여 <> 연산자를 사용하여 부등식을 테스트합니다. Try it
SELECT *
FROM suppliers
WHERE supplier_name <> 'Microsoft';
또는 다음 SQL 문을 입력하여 != 연산자를 사용합니다. Try it
SELECT *
FROM suppliers
WHERE supplier_name != 'Microsoft';
8개의 레코드가 선택됩니다. 아래는 SQL 문 중 하나에 표시되는 결과입니다.
supplier_id | supplier_name | city | state |
---|---|---|---|
200 | Mountain View | California | |
300 | Oracle | Redwood City | California |
400 | Kimberly-Clark | Irving | Texas |
500 | Tyson Foods | Springdale | Arkansas |
600 | SC Johnson | Racine | Wisconsin |
700 | Dole Food Company | Westlake Village | California |
800 | Flowers Foods | Thomasville | Georgia |
900 | Electronic Arts | Redwood City | California |
이 예제에서 두 SELECT 문은 suppliers 테이블에서 supplier_name이 Microsoft와 같지 않은 모든 행을 반환합니다.
예제 - 보다 큼 연산자
SQL에서 > 연산자를 사용하여 보다 큼 연산식을 테스트할 수 있습니다.
이 예제에서는 다음과 같은 데이터가 있는 customers라는 테이블이 있습니다.
customer_id | last_name | first_name | favorite_website |
---|---|---|---|
4000 | Jackson | Joe | techonthenet.com |
5000 | Smith | Jane | digminecraft.com |
6000 | Ferguson | Samantha | bigactivities.com |
7000 | Reynolds | Allen | checkyourmath.com |
8000 | Anderson | Paige | NULL |
9000 | Johnson | Derek | techonthenet.com |
다음 SQL 문을 입력합니다. Try it
SELECT *
FROM customers
WHERE customer_id > 6000;
3개의 레코드가 선택됩니다. 아래는 표시되는 결과입니다.
customer_id | last_name | first_name | favorite_website |
---|---|---|---|
7000 | Reynolds | Allen | checkyourmath.com |
8000 | Anderson | Paige | NULL |
9000 | Johnson | Derek | techonthenet.com |
이 예제에서 SELECT 문은 customer_id가 6000보다 큰 customers 테이블의 모든 행을 반환합니다.
6000과 같은 customer_id는 결과 집합에 포함되지 않습니다.
예제 - 크거나 같음 연산자
SQL에서는 >= 연산자를 사용하여 크거나 같음 연산식을 테스트할 수 있습니다.
이전 예제와 동일한 customers 테이블을 사용하겠습니다.
customer_id | last_name | first_name | favorite_website |
---|---|---|---|
4000 | Jackson | Joe | techonthenet.com |
5000 | Smith | Jane | digminecraft.com |
6000 | Ferguson | Samantha | bigactivities.com |
7000 | Reynolds | Allen | checkyourmath.com |
8000 | Anderson | Paige | NULL |
9000 | Johnson | Derek | techonthenet.com |
다음 SQL 문을 입력합니다. Try it
SELECT *
FROM customers
WHERE customer_id >= 6000;
4개의 레코드가 선택됩니다. 아래는 표시되는 결과입니다.
customer_id | last_name | first_name | favorite_website |
---|---|---|---|
6000 | Ferguson | Samantha | bigactivities.com |
7000 | Reynolds | Allen | checkyourmath.com |
8000 | Anderson | Paige | NULL |
9000 | Johnson | Derek | techonthenet.com |
이 예제에서 SELECT 문은 customers 테이블에서 customer_id가 6000보다 크거나 같은 모든 행을 반환합니다.
이 경우 6000과 같은 supplier_id가 결과 집합에 포함됩니다.
예제 - 보다 작음 연산자
SQL에서 < 연산자를 사용하여 보다 작음 연산식을 테스트할 수 있습니다.
이 예제에서는 다음과 같은 데이터가 있는 products라는 테이블이 있습니다.
product_id | product_name | category_id |
---|---|---|
1 | Pear | 50 |
2 | Banana | 50 |
3 | Orange | 50 |
4 | Apple | 50 |
5 | Bread | 75 |
6 | Sliced Ham | 25 |
7 | Kleenex | NULL |
다음 SQL 문을 입력합니다. Try it
SELECT *
FROM products
WHERE product_id < 5;
4개의 레코드가 선택됩니다. 아래는 표시되는 결과입니다.
product_id | product_name | category_id |
---|---|---|
1 | Pear | 50 |
2 | Banana | 50 |
3 | Orange | 50 |
4 | Apple | 50 |
이 예제에서 SELECT 문은 products 테이블에서 product_id가 5보다 작은 모든 행을 반환합니다.
5와 같은 product_id는 결과 집합에 포함되지 않습니다.
예제 - 작거나 같음 연산자
SQL에서는 <= 연산자를 사용하여 작거나 같음 연산식을 테스트할 수 있습니다.
이전 예제와 동일한 products 테이블을 사용하겠습니다.
product_id | product_name | category_id |
---|---|---|
1 | Pear | 50 |
2 | Banana | 50 |
3 | Orange | 50 |
4 | Apple | 50 |
5 | Bread | 75 |
6 | Sliced Ham | 25 |
7 | Kleenex | NULL |
다음 SQL 문을 입력합니다. Try it
SELECT *
FROM products
WHERE product_id <= 5;
5개의 레코드가 선택됩니다. 아래는 표시되는 결과입니다.
product_id | product_name | category_id |
---|---|---|
1 | Pear | 50 |
2 | Banana | 50 |
3 | Orange | 50 |
4 | Apple | 50 |
5 | Bread | 75 |
이 예제에서 SELECT 문은 products 테이블에서 product_id가 5보다 작거나 같은 모든 행을 반환합니다.
이 경우 5와 같은 product_id가 결과 집합에 포함됩니다.
예제 - 고급 연산자
고급 비교 연산자에 대해 자세히 알아보려면 각 연산자에 대해 개별적으로 설명하는 튜토리얼을 작성해 두었습니다. 이러한 주제는 나중에 다루거나 지금 바로 튜토리얼 중 하나로 이동할 수 있습니다.