- LIKE 활용, 데이터 속 문자열의 패턴 찾기
- LIKE 명령어 뒤에 문자열 조건 써주기
- %기호는 아무 문자나 들어가도 상관없다는 뜻이다, '와일드카드'라고도 불림
ex) b% : b라는 문자로 시작하는 모든 데이터 검색
%b : b라는 문자로 끝나는 모든 데이터 검색
%b% : b라는 문자가 속해있는 모든 데이터 검색
SELECT *
FROM Customers
WHERE country LIKE '%r'
-- 또는
SELECT *
FROM Customers
WHERE country LIKE 'r%'
-- 또는
SELECT *
FROM Customers
WHERE country LIKE '%r%'
- 만약 찾고 싶은 키워드가 명확하다면. 즉, 패턴을 가지고 데이터를 불러오고 싶은게 아니라면 LIKE 말고 = 를 사용해주는게 속도면에서 더 빠르다(대용량 데이터를 다룰 경우에 차이가 명확하게 남)
SELECT *
FROM Customers
WHERE country = 'Brazil'
- _(언더바) 기호는 문자 1개의 자리임을 나타냄, _를 '한글자 와일드카드'라고도 함
country 칼럼에서 B로 시작하고 뒤에 5글자가 더 있는 데이터를 출력해라
SELECT *
FROM Customers
WHERE country LIKE 'B_____'
-- B뒤에 _ 5개 써주기
- 만약 문자열 안에 있는 '%' 또는 '_'를 찾고 싶다면 이스케이프 문자를 활용하자
- 이스케이프 문자는 역슬래쉬 \ (원화 기호) >> MySQL 기
discount 칼럼에서 할인을 50% 받는 사람을 출력해라
SELECT *
FROM Customers
WHERE discount LIKE '50\%'
discount 칼럼에서 두 자릿수 할인을 받는 사람 데이터를 출력해라
SELECT *
FROM Customers
WHERE discount LIKE '__\%'
-- _ 언더바 2개, % 사이에 이스케이프 문자를 끼워서 검색
- IN 활용
- 여러 속성값을 ( )로 묶어주기
country가 Germany인 데이터, France인 데이터를 출력해라
SELECT *
FROM Customers
WHERE country IN ('Germany', 'France', ...)
-- WHERE country = 'Germany' OR 'France' OR ...
위 코드는 각주의 코드와 같지만, IN을 활용하면 더 간결하게 쓸 수 있다
- BETWEEN 활용
CustomerID가 3과 5를 포함하고 그 사이에 들어가는 값을 가지는 데이터를 출력해라
SELECT *
FROM Customers
WHERE CustomerID BETWEEN 3 AND 5
-- WHERE CustomerID >= 3 AND CustomerID <= 5
마찬가지로 위 코드는 각주의 코드와 동일하지만 BETWEEN을 활용하면 더 간결하게 쓸 수 있다
- IS NULL로 결측치 검색하기
SELECT *
FROM Customers
WHERE CustomerID IS NULL
-- NULL, NaN (Not a Number)
'SQL' 카테고리의 다른 글
HackerRank 해커랭크 SQL 예제 추가 풀이 (1) (0) | 2023.06.23 |
---|---|
WHERE문 해커랭크 예제 풀이(DISTINCT, NOT LIKE) (0) | 2023.06.22 |
WHERE/AND/OR (0) | 2023.06.20 |
SELECT/FROM/LIMIT + 해커랭크 예제 (0) | 2023.06.20 |
SQL개요와 종류(DDL, DQL, DML, DCL, TCL, MySQL, NoSQL) (0) | 2023.06.18 |