MySQL LIKE로 특정 문자로 시작하는 이름 가져오기
MySQL에서 특정 문자로 시작하는 이름을 조회하려면 LIKE 연산자와 와일드카드 문자 %를 함께 사용하면 됩니다. 예를 들어 'C%' 패턴은 C로 시작하는 모든 문자열과 일치합니다.
실제 동작 과정을 단계별로 살펴보겠습니다.
1단계: 테이블 생성하기
먼저 학생 이름을 저장할 테이블을 생성합니다.
mysql> create table DemoTable
(
StudentFirstName varchar(20)
);
Query OK, 0 rows affected (1.01 sec)2단계: 데이터 삽입하기
INSERT 명령을 사용하여 테이블에 샘플 레코드를 추가합니다.
mysql> insert into DemoTable values('John');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('Carol');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('Johnny');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('Robert');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values('Chris');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('Ramit');
Query OK, 1 row affected (0.18 sec)3단계: 전체 레코드 확인하기
SELECT 명령으로 테이블에 저장된 모든 레코드를 조회합니다.
mysql> select *from DemoTable;
위 쿼리는 다음과 같은 결과를 출력합니다.
+------------------+ | StudentFirstName | +------------------+ | John | | Carol | | Johnny | | Robert | | Chris | | Ramit | +------------------+ 6 rows in set (0.00 sec)
4단계: LIKE로 첫 글자가 일치하는 레코드 조회하기
이제 LIKE 연산자를 사용하여 첫 글자가 'C'인 학생, 즉 이름이 C로 시작하는 모든 학생을 조회해 보겠습니다.
mysql> select *from DemoTable where StudentFirstName LIKE 'C%';
실행 결과는 다음과 같습니다.
+------------------+ | StudentFirstName | +------------------+ | Carol | | Chris | +------------------+ 2 rows in set (0.00 sec)
LIKE 패턴의 핵심 정리
위 예제에서 사용한 'C%' 패턴의 의미는 다음과 같습니다.
C: 이름의 첫 글자가 반드시 C여야 함
%: 그 뒤에 어떤 문자가 몇 개가 오든 상관없음(0개 이상의 임의 문자)
따라서 Carol과 Chris처럼 C로 시작하는 이름만 결과에 포함되고, John이나 Robert처럼 다른 문자로 시작하는 이름은 제외됩니다. 이 방식은 특정 접두사로 시작하는 데이터를 검색할 때 가장 널리 사용되는 기본 패턴입니다.