[조건문] Like, IN, BETWEEN, IS NULL

NAM·2022년 5월 17일
0

SQL

목록 보기
3/7

지난시간
우리가 WHERE절에서 비교연산자 그리고 비교연산자를 이어주는
논리연산자를 사용해서 검색을 하는 방법에 대해서 한번 배워보았다.

이번에는 LIKE라는 것을 사용해서 문자열의 패턴을 찾는 일을 한번 해보겠다.

LIKE

SELECT *
FROM Customers
WHERE country LIKE 'Br%'

퍼센트(%) 기호는
'BR 앞or뒤에 숫자든 문자든 어떤 것이 들어가도 상관 없다' 는 의미.


-brazil 국적을 갖은 손님들이 나왔다.

나는 앞에 무슨 숫자가 들어가 있어도 상관없고 어쨋든 'r'이라는 문자가 들어있는 그런 Country 네임을 찾아 보고 싶다.

SELECT *
FROM Customers
WHERE country LIKE '%r%'

r 이 들어간 모든 국적들을 갖은 손님들을 찾아준다.




비교연산자에서 조금 확장해서, IN하고 BETWEEN 같은 것도 배워보자

IN

프랑스 또는 독일 국적을 갖은 손님을 보고싶다.

SELECT *
FROM Customers
WHERE country IN ('Germany', 'France')

는 or(밑)를 사용한 것과 같은 결과를 갖고 온다.

SELECT *
FROM Customers
WHERE country = 'Germany' or 'France'
--WHERE country IN ('Germany', 'France')

하지만 단 두국가가 아니라 만약 여러국가의 손님을 찾는다고 생각하면
IN을 사용하는 것이 훨씬 간단하다.

SELECT *
FROM Customers
WHERE country IN ('Germany', 'France', 'Korea')

Between

  • 3과 5를 포함하고 그 사이 값을 갖은 데이터

SELECT *
FROM Customers
WHERE CustomerID Between 3 AND 5

같은 의미로

SELECT *
FROM Customers
WHERE CustomerID >= 3 AND customerID <=5
--WHERE CustomerID Between 3 AND 5

로 쓸 수 있지만 쓰기가 훨씬 번거롭다



비어있는 값을 검색할 때 -- IS NUll

SELECT *
FROM Customers
WHERE CustomerID IS NULL

IS NULL
-의미: 숫자도 아니고 문자도 아니고 아무것도 아니다.

-예를 들면 누군가 기온을 관측한다고 했을 때 어떤 사람이 기온을 0이라고 넣었다면 기온을 관측하고 지금의 온도가 0이구나 하고 기록을 한 것.
그런데 누군가가 null 이라고 넣었다면, 그 사람이 깜빡 졸았거나 사정에 의해서 기온을 관측 자체를 못한 것.

profile
힘내자

0개의 댓글