본문 바로가기
Computer/SQL

SQL_2_비교 연산자

by Beer_Pepperoni 2023. 3. 26.

실습은 여기서 https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all 

 

SQL Tryit Editor v1.6

WebSQL stores a Database locally, on the user's computer. Each user gets their own Database object. WebSQL is supported in Chrome, Safari, Opera, and Edge(79). If you use another browser you will still be able to use our Try SQL Editor, but a different ver

www.w3schools.com

 

SQL의 비교 연산자의 종류는 다음과 같다.

= 같다
> ~ 보다 크다
< ~ 보다 작다
>= ~ 보다 크거나 같다
<= ~ 보다 작거나 같다
<> 같지 않다

 

WHERE 

- 특정 조건에 맞는 데이터만 조회할 때 사용

 

예약어 WHERE 과 비교 연산자를 사용하여 Customers 테이블에 Country 값이 Germany인 것을 호출하는 쿼리를 작성해 보겠다.

 

SELECT *
FROM customers
WHERE country = 'Germany'

결과는 아래와 같다.

맨 우측의 Country Column에서 Germany인 것들만 호출된 것을 확인할 수 있다.

 

다른 예로 CustomerID가 50보다 작은 값들을 호출해 보겠다.

SELECT *
FROM customers
WHERE CustomerID < 50

 

CustomerID가 1~49인 레코드들이 호출된 것을 확인할 수 있다.

 

추가로 CustmoerName이 알파벳 순서로 C 이전에 오는 데이터,

즉 CustomerName이 A나 B로 시작하는 레코드를 호출하는 쿼리를 작성해 보겠다.

 

SELECT *
FROM customers
WHERE CustomerName < "C"

이처럼 비교 연산자와 문자열을 사용하여 쿼리문을 작성할 수 있다.

 

추가로 CustomerName이 C로 시작하는 레코드를 호출하고 싶을 땐

CustmoerName = "C"가 아니라 

= 대신 Like를 사용하고, C 뒤에 %를 붙여야 한다.

%는 ~라고 생각하면 됨, %C로 작성하면 C로 끝나는 값을 호출한다.

SELECT *
FROM customers
WHERE CustomerName LIKE "C%"

 

1 가지 조건이 아닌 다중 조건일 땐, ANDOR을 사용하여 조건을 추가해 주면 된다.

AND : 양쪽의 조건이 맞아야 호출

OR : 양쪽의 조건 중 하나만 맞아도 호출

 

AND 

SELECT *
FROM customers
WHERE CustomerName LIKE "C%" AND country Like "%a"

 

OR

 

SELECT *
FROM customers
WHERE CustomerName LIKE "C%" OR country Like "%a"

 

같은 Column 안에서 여러 조건을 검색하려고 하면

예를 들어 Country 값이 Canada와 Brazil인 레코드를 호출하려고 하면 OR로 추가를 하며 작성해야 한다.

(조건이 많아질수록 더 길어짐)

SELECT *
FROM customers
WHERE country = 'Canada' OR country = 'Brazil'

IN 을 사용하면 OR을 생략하고 사용 가능하다.

SELECT *
FROM customers
WHERE country IN('Canada','Brazil')

 

숫자 ~ 숫자의 조건을 이용하여 조회하고 싶을 땐

SELECT *
FROM customers
WHERE customerID >= 10 AND customerID <= 20

 

AND를 이용해도 되지만 BETWEEN을 이용하면 더 간결하게 사용 가능하다.

 

SELECT *
FROM customers
WHERE customerID BETWEEN 10 AND 20

 

빈 데이터인 NULL이나 NaN을 호출할 땐, Column = NULL이 아닌 IS NULL을 사용해야 한다.

NULL이나 NaN은 비교연산자로 검색이 안된다.

 

SELECT *
FROM customers
WHERE customerID IS NULL

빈 데이터가 없어 No result로 나온다.

'Computer > SQL' 카테고리의 다른 글

SQL_1  (1) 2023.03.19