본문 바로가기
SQL

SQL LIKE 구문

by 진격의 파파 2013. 8. 21.
반응형

 

 

이번에 포스팅할 내용은 SQL 구문중 LIKE 입니다. 

 

LIKE 연산자는 지정된 패턴을 검색하는데 사용합니다. 예를들어 "나는 지금 블로그에 글을 쓰고 있습니다." 라는 제목으로 글을 저장하고 그 글을 검색할 경우 여러분들은 어떻게 검색어를 칠까요? 블로그? 지금? 글? 등 어떤 패턴을 통해서 검색을 하겠죠.

SQL에서 흔히 사용하는 연산자 "=" 은 무조건 같을때만 검색이 됩니다. 위에서 예를 들은 블로그, 지금, 글 등을 연산자 "=" 을 사용한다면 "블로그 = 나는 지금 블로그에 글을 쓰고 있습니다" 물론 참이 될수가 없습니다. 그렇기에 검색도 되지 않겠죠. 하지만 LIKE 연산자를 사용하면 내용중에 해당하는 단어만 있으면 바로 검색이 됩니다.

 

예제를 통해서 알아보겠습니다.

기본적인 구문은

select * from table_name WHERE column_name LIKE pattern;

 

실제 사용구문

1. select * from table_name where title like '블로그%'

2. select * from table_name where title like '%블로그'

3. select * from table_name where title like '%블로그%'

 

1번 구문은 블로그로 시작되는 모든 값을 검색하여 가져오고

2번 구문은 블로그로 끝나는 모든 값을 검색하여 가져오고

3번 구문은 블로그가 들어있는 모든 값을 검색하여 가져옵니다.

 

아래는 member 테이블이라고 가정하고 LIKE 를 적용하면.

 id

 user_id

 user_pwd

 name

 age

 phone

 email

 1

 test1

 1111

 홍길동

 25

 010-1111-1111

 test1@test.com

 2

 test2

 2222

 임꺽정

 45

 010-2222-2222

 test2@test.com 

 3

 test3

 3333

 이영수

 34

 010-3333-3333

 test3@test.com

 4

 test4

 4444

 김영희

 28

 010-4444-4444

 test4@test.com

 5

 test5

 5555

 김철수

 34

 010-5555-5555

 test5@test.com

 

1. select * from member where name like '김%'

2. select * from member where name like '%수'

3. select * from member where name like '%영%' 

위 3가지의 쿼리문이 있습니다. 감각이 빠른분이라면 위 쿼리문 실행시 무엇이 나올지 벌써 짐작 했으리라 생각됩니다.

1번 쿼리문의 결과값은 이름이 "김"으로 시작하는 사람을 검색합니다. 그래서 영희, 철수의 레코드값이 나옵니다.

2번 쿼리문의 결과값은 이름이 "수"로 끝나는 사람을 검색합니다. 그래서 이영, 김철의 레코드값이 나옵니다.

3번 쿼리문의 결과값은 이름중에 "영"이 들어있는 사람을 검색합니다. 그래서 , 의 레코드값이 나옵니다.

 

이제 어느정도 LIKE 구문에 대해서 이해되었을듯 합니다.

혹시 더 궁금한 사항있으면 쪽지 또는 댓글 주세요 ^^

자~ 그럼 오늘 하루도 마무리 되었네요. 즐거운 프로그래밍 되시고!

행복한 하루 되길 바랍니다 ^^

 

 

반응형

'SQL' 카테고리의 다른 글

SQL BETWEEN 구문  (2) 2013.08.23
SQL IN 구문  (14) 2013.08.22
SQL TOP,LIMIT, ROWNUM 구문  (0) 2013.08.20
SQL UPDATE, DELETE 구문  (0) 2013.08.19
SQL INSERT INTO 구문  (0) 2013.08.16