쿼리를 이용해서 데이터를 조회 할 때 어떤 특정 패턴을 이용한 조회가 가능합니다.
가령, 회사의 사원들 중에 이름이 'J' 로 시작하는 하는 사원을 조회하고 싶다라던지
사원들의 전화번호가 001로 시작하는 사원들을 조회하고 싶을 때를 말하는 겁니다.
즉 데이터의 일부나 그런 조건을 이용할 수 있도록 가능하게 하는것이
LIKE 라는 키워드 입니다.
다음과 같이 쓸 수 있겠습니다.
위의 '조건'에 해당하는 부분에 대해서 짚고 넘어갈게요.
J로 시작하는 사원의 이름을 조회하고 싶다면 다음과 같이 하면 됩니다.
'J%'
여기서 '%'의 의미는 그 자리가 위치하는 곳에서 다른 문자나 숫자따위가 0개 또는 하나 이상임을 표시합니다.
즉 이렇게 된다면 이름 자체가 J 또는 James 나 Jake 라는 이름을 찾을 수 있겠군요.
그리고 '_' 를 쓸수 있는데요. 해당 위치에 어떤 문자나 숫자따위가 꼭 위치해야 함을 의미합니다.
'%'가 0개 이상이라면 '_'는 꼭! 그자리에 하나 라는 의미입니다.
자 두개를 조합해서 한번 조건을 부여하도록 해볼까요?
여러 상황을 생각나는데로 해봅시다.
1. 'mes' 으로 끝나는 이름을 검색 - '%mes' 결과로서 james나 jimes 등
2. 두번째 글자가 h로 시작되는 이름을 검색 - '_h%' 결과로서 shrek 이나 philipe 등
3. 이름이 다섯글자 이상 검색 - '_____%' 결과로서 shrek 이나 philipe, james,jimes 등
4. 이름이 끝나기 전에 맨 끝에 앞의 글자가 k로 끝나는 이름 검색 - '%k_' 결과로서 jacky 나 polsky 등
한가지 실 예제를 보면 이렇습니다.
끝에서 2번째 글자가 s인 사원들만 조회 되었군요.
다른 것들과 마찬가지로 LIKE 도 NOT을 이용한 방법이 가능합니다. 제시된 조건이 아닌것들만 조회 되겠죠?
좀 다양한 예시가 생각이 안나지만 LIKE 는 이정도로도 충분할 듯 합니다.
LIKE 에 대해 이해 하셨죠? 이만 글 줄입니다.
가령, 회사의 사원들 중에 이름이 'J' 로 시작하는 하는 사원을 조회하고 싶다라던지
사원들의 전화번호가 001로 시작하는 사원들을 조회하고 싶을 때를 말하는 겁니다.
즉 데이터의 일부나 그런 조건을 이용할 수 있도록 가능하게 하는것이
LIKE 라는 키워드 입니다.
다음과 같이 쓸 수 있겠습니다.
WHERE 컬럼명 LIKE 조건;
위의 '조건'에 해당하는 부분에 대해서 짚고 넘어갈게요.
J로 시작하는 사원의 이름을 조회하고 싶다면 다음과 같이 하면 됩니다.
'J%'
여기서 '%'의 의미는 그 자리가 위치하는 곳에서 다른 문자나 숫자따위가 0개 또는 하나 이상임을 표시합니다.
즉 이렇게 된다면 이름 자체가 J 또는 James 나 Jake 라는 이름을 찾을 수 있겠군요.
그리고 '_' 를 쓸수 있는데요. 해당 위치에 어떤 문자나 숫자따위가 꼭 위치해야 함을 의미합니다.
'%'가 0개 이상이라면 '_'는 꼭! 그자리에 하나 라는 의미입니다.
자 두개를 조합해서 한번 조건을 부여하도록 해볼까요?
여러 상황을 생각나는데로 해봅시다.
1. 'mes' 으로 끝나는 이름을 검색 - '%mes' 결과로서 james나 jimes 등
2. 두번째 글자가 h로 시작되는 이름을 검색 - '_h%' 결과로서 shrek 이나 philipe 등
3. 이름이 다섯글자 이상 검색 - '_____%' 결과로서 shrek 이나 philipe, james,jimes 등
4. 이름이 끝나기 전에 맨 끝에 앞의 글자가 k로 끝나는 이름 검색 - '%k_' 결과로서 jacky 나 polsky 등
한가지 실 예제를 보면 이렇습니다.
SELECT department_id, first_name, salary
FROM hr.employees
WHERE first_name LIKE '%s_';
FROM hr.employees
WHERE first_name LIKE '%s_';
끝에서 2번째 글자가 s인 사원들만 조회 되었군요.
다른 것들과 마찬가지로 LIKE 도 NOT을 이용한 방법이 가능합니다. 제시된 조건이 아닌것들만 조회 되겠죠?
좀 다양한 예시가 생각이 안나지만 LIKE 는 이정도로도 충분할 듯 합니다.
LIKE 에 대해 이해 하셨죠? 이만 글 줄입니다.
도움 되셨다면 댓글 부탁드립니다.
'데이터베이스 > SQL & PL/SQL' 카테고리의 다른 글
[SQL] SET 연산자에 대해서 알아보자, 우선 배경지식! (0) | 2011.08.02 |
---|---|
[SQL] WHERE 절을 활용하자, NULL! (0) | 2011.07.30 |
[SQL] WHERE 절을 활용하자, EXISTS! (2) | 2011.07.30 |
[SQL] WHERE 절을 활용하자, IN! (5) | 2011.07.30 |
[SQL] WHERE 절을 활용하자, BETWEEN! (0) | 2011.07.30 |