Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL NOT LIKE 연산자란? 개념부터 실전 예제까지 한눈에 정리

MySQL NOT LIKE 연산자란?

MySQL의 NOT LIKE 연산자는 지정한 패턴의 문자열이 대상 문자열 안에 존재하지 않는지를 확인할 때 사용합니다. 즉, LIKE 연산자와 정반대의 역할을 수행하며, 특정 패턴이 포함되지 않은 데이터만 조회할 수 있습니다.

기본 문법은 다음과 같습니다.

NOT LIKE specific_pattern

여기서 specific_pattern은 다른 문자열 내에서 찾고 싶지 않은 문자열의 패턴을 의미합니다.

NOT LIKE 사용 예제

예를 들어 학생 정보를 담고 있는 'student_info' 테이블이 있다고 가정해 보겠습니다. 이때 이름에 'Ga'라는 문자열 패턴이 포함되어 있지 않은 학생들의 상세 정보를 조회하려면 아래와 같은 MySQL 쿼리를 사용하면 됩니다.

mysql> Select * from Student_info WHERE name NOT LIKE '%Ga%';
+------+---------+----------+-----------+
| id   | Name    | Address  | Subject   |
+------+---------+----------+-----------+
| 101  | YashPal | Amritsar | History   |
| 125  | Raman   | Shimla   | Computers |
+------+---------+----------+-----------+
2 rows in set (0.05 sec)

위 쿼리 결과를 보면, 이름에 'Ga'가 포함된 학생(Gaurav 등)은 제외되고 나머지 학생들만 반환된 것을 확인할 수 있습니다.

와일드카드(%)의 역할

위 예제에서 사용된 '%' 기호는 와일드카드(wildcard)로, NOT LIKE 연산자와 함께 자주 활용됩니다. '%'는 0개 이상의 임의의 문자를 의미하므로, '%Ga%'는 이름 어느 위치든 'Ga'가 포함되어 있으면 해당 조건에 걸리게 됩니다. 따라서 NOT LIKE '%Ga%'는 'Ga'가 포함되지 않은 모든 행을 반환합니다.

참고로 MySQL에서는 '%' 외에도 '_'(밑줄) 와일드카드를 사용할 수 있는데, '_'는 정확히 한 글자에 해당하는 임의의 문자를 의미합니다. 이러한 와일드카드를 적절히 조합하면 더욱 유연하게 원하는 데이터를 필터링할 수 있습니다.