SQL 유사 - SQL 유사하지 않음
SQL LIKE는 열의 패턴을 검색하기 위해 WHERE 절과 함께 사용됩니다. 와일드카드는 패턴을 지정하는 데 사용되는 카드입니다. LIKE 연산자와 함께 사용되는 두 개의 와일드카드가 있습니다.
- %: 백분율은 단일, 다중 또는 없음을 나타내는 데 사용됩니다.
- _: 밑줄은 단일 문자를 나타내는 데 사용됩니다.
SQL 유사 구문
SQL Like 연산자는 Update 등의 모든 쿼리와 함께 사용할 수 있습니다.
SELECT column FROM table_name WHERE column LIKE pattern;
UPDATE table_name SET column=value WHERE column LIKE pattern;
DELETE FROM table_name WHERE column LIKE pattern;
위에서 언급한 SQL 유사 구문에서 "패턴\은 와일드카드 사용으로 정의되는 패턴입니다.
SQL 유사 예
몇 가지 예를 통해 와일드카드와 함께 SQL LIKE 문의 사용법을 이해해 봅시다. 예를 들어 다음 고객 테이블을 고려하십시오.
CustomerId | CustomerName |
---|---|
1 | Amit |
2 | John |
3 | Annie |
-
Find customer name with name starting with ‘A’.
SELECT CustomerName FROM Customer WHERE CustomerName LIKE 'A%';
Output: Amit Annie
-
Find customer name with name ending with ‘e’.
SELECT CustomerName FROM Customer WHERE CustomerName LIKE '%e'
Output: Annie
-
Find customer name with name starting with ‘A’ and ending with ‘t’.
SELECT CustomerName FROM Customer WHERE CustomerName LIKE 'A%t'
Output: Amit
-
Find customer name with name containing ‘n’ at any position.
SELECT CustomerName FROM Customer WHERE CustomerName LIKE '%n%'
Output: Annie John
-
Find customer name with name containing ‘n’ at second position.
SELECT CustomerName FROM Customer WHERE CustomerName LIKE '_n%'
Output: Annie
-
Find customer name with name containing ‘i’ at third position and ending with ‘t’.
SELECT CustomerName FROM Customer WHERE CustomerName LIKE '__i%t'
Output: Amit
SQL이 같지 않음
때때로 우리는 유사한 패턴과 일치하지 않는 레코드를 얻고자 합니다. 이 경우 연산자와 달리 SQL을 사용할 수 있습니다. SQL not like 문 구문은 아래와 같습니다.
SELECT column FROM table_name WHERE column NOT LIKE pattern;
UPDATE table_name SET column=value WHERE column NOT LIKE pattern;
DELETE FROM table_name WHERE column NOT LIKE pattern;
예를 들어 'A'로 시작하지 않는 고객 이름 목록을 원한다고 가정해 보겠습니다. 아래 쿼리는 필요한 결과 집합을 제공합니다.
SELECT CustomerName FROM Customer WHERE CustomerName NOT LIKE 'A%';
출력: 존
SQL 다중 유사
SQL 쿼리에서 like 문을 여러 개 가질 수 있습니다. 예를 들어 'Jo'와 'Am'으로 시작하는 고객 이름 목록을 원하는 경우 아래와 같이 여러 개의 like 문을 사용해야 합니다.
SELECT CustomerName FROM Customer WHERE CustomerName LIKE 'Am%' OR CustomerName LIKE 'Jo%';
이것이 연산자와 같은 SQL과 연산자와 같지 않은 SQL의 예입니다.