목차
- LIKE연산자
- IN 연산자
- BETWEEN 연산자
#1 LIKE 연산자
LIKE 연산자는 컬럼에서 특정한 패턴에 일치하는 데이터를 검색하기 위하여 사용 된다.
LIKE 연산자와 주로 사용되는 와일드 카드
- 퍼센트 기호(%)는 0, 1, 또는 다중의 문자를 나타냄 (자리수가 0,1 또는 여럿)
- 언더 바(_)는 단일의 문자를 나타냄 (자리수가 1)
1. 문법
SELECT 컬럼1, 컬럼2, FROM 테이블 WHERE 조건 LIKE 패턴 ;
2. LIKE연산자와 와일드 카드를 사용해서 만들 수 있는 다양한 패턴들
-컬럼 city에서 a로 시작하는 값
WHERE city LIKE 'a%'
-컬럼 city에서 a로 끝나는 값
WEHRE city LIKE'%a'
-컬럼 city 중 a를 포함하는 값
WHERE city LIKE '%a%'
-컬럼 city 중 두번째 자리의 값이 a인 값
WHERE city LIKE '_a%'
-컬럼 city 중 a로 시작하고 값의 자리수가 최소 2 이상인 값
WHERE city LIKE 'a_%'
-컬럼 city 중 a로 시작하고 값의 자리수가 최소 3이상인 값
WHERE city LIKE 'a%_%_%'
-컬럼 city 중 a로 시작하고 o로 끝나는 값
WHERE city LIKE 'a%o'
참고로, 해당 특정 패턴에 일치하지 않는 데이터를 검색하기 위한 문법은 다음과 같다
3. 패턴에 일치하지 않는 데이터를 검색하기 위한 문법
SELECT 컬럼 FROM 테이블명 WHERE 조건 NOT LIKE 패턴 ;
#2 IN 연산자
IN 연산자는 WHERE 절에서 다수의 값을 선택할 수 있게 한다.
WHERE절 안의 IN 연산자는 다중의 조건을 ()로 묶은 것이다(즉 괄호안의 값들 가운데 있다는 뜻)
1. 문법
SELECT 컬럼1, 컬럼2 FROM 테이블명 WHERE 컬럼1 IN (값1, 값2) ;
또는 아래와 같이 작성가능하다.
SELECT 컬럼1, 컬럼2 FROM 테이블명 WHERE 컬럼1 IN (SELECT문) ;
2. 예시
-customers 테이블에서 국적이 독일, 프랑스, 또는 영국 인 고객 조회하기
SELECT * FROM customers WHERE nationality IN ('Germany','France','UK') ;
-customers 테이블에서 국적이 독일, 프랑스, 또는 영국이 아닌 고객 조회하기
SELECT * FROM customers WHERE nationality NOT IN ('Germany','Fracne','UK') ;
-customers 테이블에서 고객 조회, 단 고객의 국적이 suppliers 테이블의 country 컬럼과 일치하는 고객일 것
SELECT * FROM customers WHERE nationality IN (SELECT country FROM suppliers) ;
#3 BETWEEN 연산자
BETWEEN 연산자는 특정한 범위 내의 값을 선택한다(=범위 설정이 필요하다)
값은 숫자, 텍스트, 또는 날짜가 될 수 있다.
1. 문법
SELECT 컬럼 FROM 테이블명 WHERE 컬럼 BETWEEN 값1 AND 값2 ;
2. 예시
-products 테이블에서 price가 10과 20 사이인 모든 제품 조회
SELECT * FROM products WHERE price BETWEEN 10 AND 20 ;
-products 테이블에서 price가 10과 20 사이가 아닌 모든 제품 조회
SELECT * FROM products WHERE price NOT BETWEEN 10 AND 20 ;
-products 테이블에서 price가 10과 20사이인 모든 제품 조회. 단 제품은 categoryId가 1,2,3이 아닐 것
SELECT * FROM products WHERE price BETWEEN 10 AND 20 AND categoryId NOT IN (1,2,3) ;
-orders 테이블에서 orderdate가 '2022-01-01'과 '2022-01-31'인 모든 주문 조회
SELECT * FROM orders WHERE orderdate BETWEEN '2022-01-01' AND '2022-01-31' ;
'DBMS > 1. MySQL-DATA' 카테고리의 다른 글
MySQL 사용자를 위한 데이터 타입 (0) | 2022.02.17 |
---|---|
SQL: 정렬을 위한 ODER BY 키워드 (0) | 2022.02.17 |
SQL : WHERE 절과 연산자 1 (0) | 2022.02.17 |
SQL : SELECT /INSERT INTO 구문 (0) | 2022.02.16 |
댓글