Red Glitter Pointer

 

 BETWEEN, IN, IS NULL / IS NOT NULL, LIKE

 

 

1. BETWEEN

  • BETWEEN은 SQL에서 특정 범위 내에 있는 행만 선택할 수 있는 논리 연산자
  • AND 연산자와 쌍을 이루며 시작값, 끝값을 포함한다
SELECT *
FROM 테이블명
WHERE 칼럼명 BETWEEN 조건1 AND 조건2;

-- 위 내용을 아래와 같이 AND 연산자로 풀어쓰는 것 또한 가능함

SELECT *
FROM 테이블명
WHERE 칼럼명 >= 조건1 AND 칼럼명 <= 조건2;

 

👇 예시 코드

# 숫자 데이터
SELECT * FROM Products
WHERE CustomerId BETWEEN 10 AND 20;

# 문자열 데이터
SELECT * FROM Products
WHERE CustomerName BETWEEN 'C' AND 'M';

# 날짜 데이터
SELECT * FROM Orders
WHERE CustomerOrder BETWEEN '2019-01-01' AND '2020-01-01';

 

 

 

2. IN

  • IN은 결과에 포함시키고자 하는 값 목록을 지정할 수 있는 SQL의 논리 연산자
  • 데이터 유형에 관계없이 목록의 값은 쉼표로 구분
SELECT *
FROM 테이블명
WHERE 컬럼명 IN (값1, 값2, ...);

 

👇 예시 코드

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

-- 아래와 같이 OR 연산자로 풀어쓰는 것도 가능

SELECT *
FROM Customers
WHERE Country = 'Korea' OR Country = 'GERMANY' OR Country = 'France';

 

 

 

3. IS NULL / IS NOT NULL

  • 테이블 내에 입력되지 않은 데이터는 NULL로 저장이 되며 'IS NULL'로 검색 가능
  • NULL 값을 검색할 때는 = 연산자가 아니라 'IS NULL' 사용
  • 반대로 NULL값이 아닌 행을 검색할 경우, 'IS NOT NULL' 사용

👇 예시 코드

# IS NULL 예제
SELECT *
FROM sample
WHERE name IS NULL;

# IS NOT NULL 예제
SELECT *
FROM sample
WHERE name IS NOT NULL;

 

 

 

4. LIKE

  • WHERE절 안에서 문자열의 일부분을 비교하는 '부분 검색'
  • 문자열 비교 연산자를 사용하는 것처럼 정확하게 일치하지 않아도 사용 가능
SELECT 열1, 열2
FROM 테이블명
WHERE 열 LIKE 패턴;
  • 두 가지 와일드카드 문자 사용
    • _: 한 글자만을 의미
    • %: 0글자부터 그 이상을 의미

 

👇 예시 코드

# a로 시작하는 모든 값
WHERE 열1 LIKE 'a%'

# a로 끝나는 모든 값
WHERE 열1 LIKE '%a'

# a가 있는 모든 값
WHERE 열1 LIKE '%a%'

# 두 번째 인덱스에 a가 있는 모든 값
WHERE 열1 LIKE '_a%'

# a로 시작하고 o로 끝나는 모든 값
WHERE 열1 LIKE 'a%o'

 

💡 %, _ 가 들어간 단어를 찾고 싶을 땐, 이스케이프 문자 백슬래시 \ 사용 

 

 

 

+ Recent posts

loading