[ mysql ] 비교 연산자 쿼리 연습

JooKit 주킷 2021. 9. 1. 00:54
목차 접기
728x90
반응형

mysql 연습 데이터로 쿼리 작성해보는 사이트로 이동

위 링크로 이동해서 아래 쿼리를 입력해보자.

 

 

=  양쪽 값이 같음 
!=, <> 양쪽 값이 다름 
>, < (왼쪽, 오른쪽) 값이 더 큼
>=, <= (왼쪽, 오른쪽) 값이 같거나 더 큼 

비교 연산자 종류

 

 

 

SELECT 1=1, NOT ( 1 <> 1 ), NOT ( 1 < 2 ), 1 > 0 IS NOT FALSE;

출력 : 1, 1, 0, 1

 

 

 

SELECT 'A' = 'A', 'A' != 'B', 'A' < 'B', 'A' > 'B';

출력 : 1, 1, 1, 0
문자열에서 부등호를 사용할 경우, 나중에 오는게 더 크다.

 

 

 

SELECT 'A' = 'a';

출력 : 1
sql에서는 대소문자를 가리지 않는다.
대소문자를 같은 것으로 인식한다.

 

 

 

SELECT ProductName,
    Price,
    Price > 20 AS EXPENSIVE
FROM Products;

Price > 20 AS EXPENSIVE는 참과 거짓으로 출력이 된다.

 

 

 

SELECT ProductName,
    Price,
    NOT Price > 20 AS CHEAP
FROM Products;

칼럼에서 비교 연산자를 사용할 경우, TRUE(1)/FALSE(0) 값을 출력한다.

 

 

 

BETWEEN 연산자

SELECT 5 BETWEEN 1 AND 10;

출력 : 1
의미 : 5는 1과 10 사이에 있다, 참이다.

 

 

 

SELECT 50 BETWEEN 1 AND 10;

출력 : 0
50은 1과 10 사이에 있다는 거짓이므로 0을 출력한다.

 

 

 

SELECT 5 BETWEEN 5 AND 1;

출력 : 0
sql에서는 작은 숫자를 앞에 두어야 한다.
위에처럼 큰 숫자를 앞에 두는 경우, 거짓으로 인식한다.


 

SELECT 'banana' NOT BETWEEN 'Apple' AND 'camera';

출력 : 0
sql은 대소문자를 구분하지 않고 A와 c 사이에 b가 존재하므로 값은 참에서
NOT이 붙어 있기 때문에 반대인 FALSE, 0을 출력한다.

 

 

 

SELECT 'banana'  BETWEEN 'Apple' AND 'camera';

출력 : 1
반대로 NOT을 빼면 값은 참이 된다.

 

 

 

SELECT * FROM OrderDetails
WHERE ProductID BETWEEN 1 AND 4
ORDER BY ProductID ASC;

응용해보기!

 

 

 

SELECT * 
FROM OrderDetails
WHERE ProductID NOT BETWEEN 1 AND 4
ORDER BY ProductID ASC;

응용해보기 2탄

 

 

 

SELECT * 
FROM Customers
WHERE CustomerName BETWEEN 'b' AND 'C';

응용해보기 3탄

 

숫자는 1을 포함하고 4를 포함한 1부터 4까지의 숫자를 조회하지만
문자열의 경우, CunstomerName이 ‘b’로 시작하고
‘c’로 시작하기 전까지의 결과값을 출력한다.

 

 

 

 

 

 

41:44분부터 이어서

728x90
반응형
LIST