MySQL 테이블에서 데이터를 가져오는 MySQL SELECT 명령을 보았습니다. WHERE 절이라고 하는 조건절을 사용하여 필요한 레코드를 선택할 수도 있습니다.
'같음' 기호(=)가 있는 WHERE 절은 정확히 일치를 수행하려는 경우 잘 작동합니다. "tutorial_author ='Sanjay'"인 경우와 같습니다. 그러나 tutorial_author 이름에 "jay"가 포함되어야 하는 모든 결과를 필터링하려는 요구 사항이 있을 수 있습니다. 이것은 WHERE 절과 함께 MySQL LIKE 연산자를 사용하여 처리할 수 있습니다.
와일드카드 문자 없이 MySQL LIKE 연산자를 사용하는 경우 LIKE 연산자는 WHERE 절과 함께 기호로 등호와 매우 동일합니다.
예시
mysql> Select * from Student Where Name LIKE 'Harshit'; +------+---------+---------+----------+--------------------+ | Id | Name | Address | Subject | year_of_admission | +------+---------+---------+----------+--------------------+ | 15 | Harshit | Delhi | Commerce | 2009 | +------+---------+---------+----------+--------------------+ 1 row in set (0.00 sec) mysql> Select * from Student Where Name = 'Harshit'; +------+---------+---------+----------+--------------------+ | Id | Name | Address | Subject | year_of_admission | +------+---------+---------+----------+--------------------+ | 15 | Harshit | Delhi | Commerce | 2009 | +------+---------+---------+----------+--------------------+ 1 row in set (0.00 sec)
와일드카드 문자, %, _가 있다는 차이점 외에 LIKE와 =연산자 사이에는 중요한 차이점이 있습니다. LIKE 연산자는 후행 공백을 무시하지 않고 =연산자는 후행 공백을 무시한다는 것입니다.
예시
mysql> Select * from Student Where Name = 'Harshit '; +------+---------+---------+----------+--------------------+ | Id | Name | Address | Subject | year_of_admission | +------+---------+---------+----------+--------------------+ | 15 | Harshit | Delhi | Commerce | 2009 | +------+---------+---------+----------+--------------------+ 1 row in set (0.00 sec) mysql> Select * from Student Where Name LIKE 'Harshit '; Empty set (0.00 sec)