비교연산자와 논리연산자
•
비교연산자 : 특정 컬럼이 특정 값을 가지는 데이터만 불러오기 위해서 사용
=, <>, >=, <=, >, <
•
논리연산자 : 왼쪽과 오른쪽의 조건이 둘 다 만족하거나, 두 가지 조건 중에 하나만 만족하면 될 때.. 등의 경우에 필요하다.
AND, OR, LIKE, NOT, … …
LIKE, IN, BETWEEN, IS NULL
// country에 r 이 들어가는 정보를 찾는다.
SELECT *
FROM Customers
WHERE country LIKE '%r%'
// country가 Germany 또는 France인 정보를 찾는다.
SELECT *
FROM Customers
WHERE country IN ('Germany', 'France') // country = 'Germany' OR country = 'France'
// CustomerID가 3과 5를 포함하고 그 사이에 있는 정보를 찾는다.
SELECT *
FROM Customers
WHERE CustomerID BETWEEN 3 AND 5 // customerID >= 3 AND customerID <= 5
// CustomerID 가 비어있는 값을 가진 정보를 찾는다
SELECT *
FROM Customers
WHERE CustomerID IS NULL
SQL
복사
찾고싶어하는 키워드가 명확할 땐 LIKE 보단 비교연산자(=)가 속도가 훨씬 빠르다.
SELECT *
FROM Customers
WHERE country LIKE 'Brazil' // (X) 효과적이지 않다.
WHERE country = 'Brazil' // (O)
SQL
복사
문자의 수를 지정해 조건을 걸 수 있다.
•
_ 는 %처럼 와일드카드이지만(어떤 문자라고 특정해주진 않지만) 글자 수를 정해준다.
•
%를 그냥 와일드카드라고하면, 언더바(_)는 한 글자 와일드카드라고도 한다.
SELECT *
FROM Customers
WHERE country LIKE 'B_____' // B로 시작하면서 뒤에 5글자인 country
SQL
복사
퍼센트(%) 또는 언더바(_)가 포함돼있는 문자열 조건을 걸고 싶을 땐 이스케이프(\) 문자를 사용한다.
SELECT *
FROM Customers
WHERE discount LIKE '50\%' // discount 가 50% 인 데이터를 찾는다
SQL
복사