반응형

본 글은 책 "칼퇴족 김대리는 알고 나만 모르는 SQL 기초 편"의 정리 내용입니다.

특정 열에 특정 키워드가 포함된 레코드를 찾을 때 → % 사용

LIKE 연산자를 이용한 데이터 추출

LIKE 연산자


# 뒤에 나오는 문자들 모를 때
SELECT 열이름 FROM 테이블 WHERE 열이름 LIKE '찾고싶은문자%';
 
# 앞에 나오는 문자들 모를 때
SELECT 열이름 FROM 테이블 WHERE 열이름 LIKE '%찾고싶은문자';

# 앞뒤 나오는 문자들 모를 때
SELECT 열이름 FROM 테이블 WHERE 열이름 LIKE '%찾고싶은문자%';

# 뒤에 나오는 문자 모를 때
SELECT 열이름 FROM 테이블 WHERE 열이름 LIKE '찾고싶은문자_';
  • % 는 자주 사용하는 와일드카드로 모든 문자를 의미한다고 생각하면 됨
  • 와일드카드란?
    • 문자열에서 특정한 문자 또는 문자들을 대체하기 위해 사용하는 문자를 의미
      • % : 숫자 0 또는 문자들을 대체하기 위해 사용됨
      • _ : 한 개의 단어를 대체하기 위해 사용됨

예시( 고객정보 테이블 : CUSTOMERS)


ID  NAME  CITY COUNTRY
1 SUE BERLIN GERMANY
2 DAVID BERN SWITZERLAND
3 SAM NANTES FRANCE
4 KIM RESENDE BRAZIL
5 LEE VERSAILLES FRANCE
6 BERNEY BERGAMO ITALY
7 SANDY BERLIN GERMANY
8 YOUNG SEOUL KOREA
  • Primary Key는 ID
더보기
CREATE TABLE CUSTOMERS
(ID INT NOT NULL,
NAME CHAR(20) NOT NULL,
CITY CHAR(20) NOT NULL,
COUNTRY CHAR(20) NOT NULL,
PRIMARY KEY('ID')
);

INSERT INTO CUSTOMERS
VALUES
(1, 'SUE', 'BERLIN', 'GERMANY'),
(2, 'DAVID', 'BERN', 'SWITZERLAND'),
(3, 'SAM', 'NANTES', 'FRANCE'),
(4, 'KIM', 'RESENDE', 'BRAZIL'),
(5, 'LEE', 'VERSAILLES', 'FRANCE'),
(6, 'BERNEY', 'BERGAMO', 'ITALY'),
(7, 'SANDY', 'BERLIN', 'GERMANY'),
(8, 'YOUNG', 'SEOUL', 'KOREA');

문제


Q1. 위 테이블에서 BER로 시작하는 도시에 거주하는 고객들을 찾아서 출력하는 쿼리문

ID NAME CITY COUNTRY
1 SUE BERLIN GERMANY
2 DAVID BERN SWITZERLAND
6 BERNEY BERGAMO ITALY
7 SANDY BERLIN GERMANY
더보기
SELECT *
FROM CUSTOMERS 
WHERE CITY LIKE 'BER%';

 

Q2. 'NY'로 끝나는 나라에 거주하는 고객

ID NAME CITY COUNTRY
1 SUE BERLIN GERMANY
7 SANDY BERLIN GERMANY
더보기
SELECT *
FROM CUSTOMERS 
WHERE COUNTRY LIKE '%NY';

 

Q3. ES를 포함한 도시에 거주하는 고객

더보기
SELECT *
FROM CUSTOMERS 
WHERE CITY LIKE '%ES%';

 

반응형

+ Recent posts