Database/엑셀로 배우는 SQL 실무 - 입문

[SQL] 엑셀로 배우는 SQL - WHERE (=, >, <, !=, BETWEEN)

따라쟁이개발자 2022. 12. 30. 08:00

SELECT문으로 데이터 조회하는 방법을 알아 봤다면,

이젠 조회문에 조건을 붙여볼 차례입니다.

 

엑셀을 사용하시는 분들이라면, 한번쯤은 사용해 보셨을 엑셀 필터 기능!

숫자의 경우 같음, 크거나 같음, 작음, 크거나 작음 등 다양한 옵션을 제공하고 있죠.

 

엑셀에 필터를 적용하면, 그에 해당하는 결과 Row들만 노출되는 것처럼

SQL도 엑셀 필터와 동일한 기능들을 수행할 수 있습니다. (사실 훨씬 더 많은 기능들이 있죠)

 

SQL로 데이터를 조회할 때, 조건을 거는 방법! WHERE 절

이번 게시물에선 그 중에서도 숫자 column을 필터링 하는 방법에 대해 알아봅니다.

 

 

WHERE 절이란?

WHERE절이란 SELECT문으로 데이터를 조회할 때 조회 조건을 명시하는 부분이라고 생각하시면 됩니다.

 

SELECT문은 또 뭐지? 싶으신 분들은
이전 게시물인 SELECT문 구성부터 보고 오시면 좋을 것 같아요 (https://jieunkkim.tistory.com/32)

 

WHERE절에 명시할 수 있는 조건들은 다양합니다.

숫자 비교를 할 수도 있고, 텍스트 비교를 할 수도 있고, 더 나가면 날짜 비교까지 다양한 조건 사용이 가능하죠

 

이번 게시물에선 숫자 비교부터 알아보려 해요.

숫자 비교는 대표적으로같음(=), 같지 않음(!=) 그리고 큼(>), 작음(<),크거가 같음(=>), 작거나 같음(=<), 사이(BETWEEN) 도 있죠

 

 

엑셀로 먼저 살펴보기

아래와 같은 엑셀이 있다고 가정하고,

엑셀에서 재고 값을 기준으로 아래와 같이 필터링을 해 볼게요

 

1. 재고가 5개와 같음 / 5개와 같지 않음

 

2. 재고가 5개보다 큼 / 크거나 같음

 

3. 재고가 5개보다 작음 / 작거나 같음

 

4. 재고가 5개와 10개 사이

 

 

SQL로 살펴보기

엑셀 예시와 동일하게 아래와 같은 Table 이 있다고 가정하고 WHERE절에 명시해 SELECT문으로 조회해볼게요

참고로, WHERE 절에서는 보통 '비교할 column 명'을 연산자 앞에 '비교할 값'을 연산자 뒤에 표현합니다.

 

같음 (=)

같음을 나타내는 = 는 equal 조건이라고 불리기도 합니다.

SELECT *                
FROM beverage_stock
WHERE stock = 5;

 

같지 않음 (!=)

equal 조건 앞에 부정조건을 나타내는 ! 를 붙여 표현합니다. 

!= 외에도 ^=, <> 로 표현할 수 있습니다.

SELECT *                
FROM beverage_stock
WHERE stock != 5;  	-- != 대신, ^=, <>도 사용 가능

 

큼 (>)

큼을 나타내는 표현은 > 입니다.
부등호가 열려 있는 쪽이 닫혀있는 쪽보다 큰 경우를 조회해 줍니다.

SELECT *                
FROM beverage_stock
WHERE stock > 5;

 

크거나 같음 (>=)

크거나 같음은 부등호(>) 뒤에 등호(=)를 붙여 표현합니다.

SELECT *                
FROM beverage_stock
WHERE stock >= 5;

 

작음 (<)

작음은 부등호 <로 표현합니다. 큼(>) 과 반대라고 생각하시면 될 것 같아요

SELECT *                
FROM beverage_stock
WHERE stock < 5;

 

작거나 같음 (<=)

작거나 같음도 마찬가지로 부등호 뒤에 등호를 붙여 표현합니다.

SELECT *                
FROM beverage_stock
WHERE stock <= 5;

 

사이 (BETWEEN)

사이는 등호나 부등호가 아닌 BETWEEN, AND 키워드를 사용하여 표현합니다.

BETWEEN A AND BA 이상 B 이하의 값 을 의미합니다.

SELECT *                
FROM beverage_stock
WHERE stock BETWEEN 5 AND 10;  -- 5이상 10이하

 

 

정리

이번 장에서는 WHERE 절을 사용하여 숫자 비교하는 방법에 대해 알아보았습니다.

실습된 결과를 비교해보면 필터기능을 사용한 엑셀 결과와 SQL 실행 결과가 같다는 것을 보실 수 있는데요!

 

SQL이 어렵게 느껴질 수 있지만,

막상 실제 사용해보면 엑셀과 비슷하다고 많이 느끼실 것 같아요

 

이번 장에서 다룬 연산자들은 사실 숫자 뿐만 아니라 텍스트에서도 다룰 수 있는데 이건 나중에 기회되면 자세히 설명해 볼게요

다음 장에선 텍스트에 주로 쓰이는 연산자들을 위주로 정리해보겠습니다. 🙂

 

 

 

[ 참고 ]

 MySQL로 배우는 데이터베이스 개론과 실습

 SQL 개발자 이론서 + 기출문제