WHERE (조건에 맞는 데이터들만 조회할 때 사용)
- 비교연산자 : 특정한 컬럼이 특정한 값을 가지는 데이터만 불러오기 위해 사용
- = '같다', <> '다르다', >= '크거나 같다', <= '작거나 같다'
- 문자도 비교 가능 ex) < 'D' → 'A', 'B', 'C'
- AND '모든 조건이 만족' / OR '어느 한 조건이라도 만족'
LIKE (문자열의 패턴을 검색할 때 사용)
SELECT *
FROM 테이블명
WHERE 컬럼명 LIKE 패턴
- 와일드키 % (모든 글자) / _ (한 글자)
ex) 'a%' ⇒ a로 시작하는 문자열 / 'a _ _ _ _' ⇒ a로 시작하고 글자 수가 5개인 문자열
- 정확한 문자열을 알 경우, LIKE 보다 = 을 쓰는 것이 속도가 더 빠르다.
ex) WHERE city LIKE 'Seoul' <<<< WHERE city = 'Seoul'
- 예약어가 아닌 %(퍼센트) 기호 자체를 사용할땐, '\(역슬래시)' 사용
ex) LIKE '30\%'
ex)
SELECT *
FROM employees
WHERE lastname LIKE '%o%'
⇒ employees 테이블에서 lastname에 'o'가 들어가는 행을 출력한다.
IN (목록을 지정할 수 있는 논리 연산자)
SELECT *
FROM 테이블명
WHERE 컬럼명 IN (값1, 값2, ...)
ex)
SELECT *
FROM suppliers
WHERE city IN ('Tokyo', 'Osaka')

⇒ suppliers 테이블에서 city의 값이 'Tokyo' 또는 'Osaka'인 행을 출력한다.
* 다음과 같이 써도 무방하나, or을 사용했을 경우 요소가 많아지면 문장이 길어짐
SELECT *
FROM suppliers
WHERE Country = 'Tokyo'
OR Country = 'Osaka'
BETWEEN (특정 범위 내에 있는 행만 선택할 수 있는 논리 연산자)
SELECT *
FROM 테이블명
WHERE 컬럼명 BETWEEN 조건1 AND 조건2
ex)
SELECT *
FROM suppliers
WHERE supplierid BETWEEN 10 AND 15

⇒ customers 테이블에서 customerID의 값이 3에서 5사이인 행만을 출력
* 다음과 같이 써도 무방하다
SELECT *
FROM suppliers
WHERE supplierid >= 10
AND supplierid <= 15
IS NULL (NULL값인 행을 검색)
- NULL, NaN : Not a Number, 숫자가 아님, 값이 없음
- IS NOT NULL (NULL값이 아닌 행을 검색)
ex)
SELECT *
FROM suppliers
WHERE phone IS NULL

⇒ suppliers 테이블에서 phone의 값이 비어있는 즉 NULL값을 가지는 행을 출력한다.
↘↘↘
'📖 STUDY > SQL' 카테고리의 다른 글
[SQL] review_HackerRank (0) | 2022.03.04 |
---|---|
[SQL] CEIL, FLOOR, ROUND (0) | 2022.03.04 |
[SQL] LEFT, RIGHT, SUBSTRING (0) | 2022.03.04 |
[SQL] ORDER BY (0) | 2022.03.04 |
[SQL] SELECT, FROM, LIMIT (0) | 2022.03.04 |