본문 바로가기

SQL/SQL Tutorial

18.SQL LIKE

18.SQL LIKE

WHERE 절에서 컬럼이 가지고 있는 값의 패턴을 검색하는데 LIKE 가 사용됩니다.

 

LIKE 연산자와 함께 자주 사용되는 와일드 카드는 두가지가 있습니다.

% : 백분률 기호는 0개 혹은 1개 또는 여러개의 문자가 있을수 있음을 나타냅니다.

_ : 언더바 기호는 하나의 문자만을 의미합니다.

 

"a"로 시작하는 모든 고객을 선택하세요

SELECT * FROM Customers

WHERE CustomerName LIKE 'a%';

 

SELECT column1 , column2 , ...

FROM table_name

WHERE columnN LIKE pattern;

 

 

_ 와일드 카드

와일드 카드 _ 는 단일 문자를 나타냅니다.

이는 어떠한 문자나 숫자라도 될 수 있지만 각각은 _단 하나의 문자만을 나타냅니다.

'L' 로 시작하고 와일드 카드 문자1개 'nd' 는 와일드카드 문자 2개가 들어가는 도시의 모든 고객을 반환합니다.

SELECT * FROM Customers

WHERE city LIKE 'L_nd__';

 

%와일드 카드

와일드 카드 %는 0개의 문자를 포함해 아무리 많은 문자라도 나타냅니다.

SELECT * FROM Customers

WHERE city LIKE '%L%';

 

특정 문자로 시작

특정 문자나 문구로 시작하는 레코드를 반환하려면 문자나 문구 끝에 %를 추가하세요

'La' 로 시작하는 모든 고객을 반환합니다.

SELECT * FROM Customers

WHERE CustomerName LIKE 'La%';

 

팁 : AND 연산자 또는 OR 연산자를 사용해 조건을 결합할 수도 있습니다.

'a' 로 끝나는 모든 고객을 반환합니다.

SELECT * FROM Customers

WHERE CustomerName LIKE '%a';

 

'b' 로 시작하고 's'로 끝나는 모든 고객을 반환합니다.

SELECT * FROM Customers

WHERE CustomerName LIKE 'b%s';

 

-Contains 기능 (포함)

특정 문자나 문구가 포함되어 있는 레코드를 반환하려면 문자 앞뒤로 % 를 추가하자

'or' 이라는 문구를 포함하는 모든 고객을 반환합니다.

SELECT * FROM Customers

WHERE CustomerName LIKE '%or%';

 

와일드카드 결합

%및 _ 같은 와일드카드는 서로 다른 와일드 카드와 함꼐 사용할 수 있습니다.

'a'로 시작하고 기이가 3자 이상인 모든 고객을 반환합니다.

SELECT * FROM Customers

WHERE CustomerName LIKE 'a__%';

 

'a'로 시작하고 길이가 3자이상인 모든 고객을 반환합니다.

SELECT * FROM Customers

WHERE CustomerName LIKE 'a__%';

 

두 번째 위치에 'r' 이 있는 모든 고객을 반환합니다.

SELECT * FROM Customers

WHERE CustomerName LIKE '_r%';

 

와일드 카드 없는 WHERE 문

와일드 카드가 지정되지 않으면 구문과 정확하게 일치해야 결과가 반환됩니다.

'Spain' 의 모든 고객을 반환합니다.

SELECT * FROM Customers

WHERE Country LIKE 'Spain';

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'SQL > SQL Tutorial' 카테고리의 다른 글

20.SQL IN 연산자  (0) 2024.07.02
19.SQL 와일드 카드  (0) 2024.07.02
17.SQL AVG()  (0) 2024.06.30
16.SQL SUM()  (0) 2024.06.27
15.SQL COUNT() 함수  (0) 2024.06.25