[SQL연산자] LIKE, 와일드카드, SQL정렬 (오름차순, 내림차순) 
 


LIKE와 와일드카드

 

 LIKE 연산자는 검색하려는 값을 정확히 모를 경우 사용하는 연산자이다. 형식은 아래와 같다.
"where 컬럼명 LIKE 검색내용"
 검색 내용에는 와일드카드와 같이 사용된다. 와일드카드에는 "_"와 "%"가 있다.
 _는 하나의 문자에 어떤 값이 와도 상관없다는 의미이고,
 %는 문자가 없거나 하나 이상의 문자에 어떤 값이 와도 상관없다는 의미이다.
 와일드카드를 사용하면 특정 문자나 문자열을 포함한 데이터를 조회할 수 있다.(대부분 와일드카드 사용 시 %를 사용하게 된다.) 예를 들어 네이버 검색창에 오라클이라는 내용을 검색하면 오라클이라는 문자열을 포함한 여러 내용들이 검색된다.
 기존 방식으로 scott 계정 emp 테이블의 앞 글자가 A로 시작하는 사원들을 검색하기 위해서는 사원의 이름을 풀내임으로 모두 적어줘야 한다.

 


select * from emp where ename='ALLEN' or ename='ADAMS';
 


 하지만 like 연산자와 와일드카드를 이용하면 간단하게 검색이 가능하다. LIKE와 와일드카드를 이용한 예제들을 확인해 보자.

 

select * from emp where ename like 'A%'; --A로 시작하는 사원명 검색
select * from emp where ename like '%E'; --E로 끝나는 사원명 검색
select * from emp where ename like '%A%'; --A라는 문자가 들어가는 모든 사원 검색
select * from emp where ename like '_A%'; --두번째 문자가 A인 사원 검색


정렬(오름차순, 내림차순)

 

 정렬은 데이터를 오름차순이나 내림차순으로 검색할 수 있도록 하는 방법이다. 예를 들어 자료실에서 최신 순으로 조회를 하거나 오래된 순으로 조회를 하거나 추천 순으로 검색할 때 사용된다. 정렬을 사용하는 형식은 아래와 같다.
 오름차순은 "order by 컬럼명 asc"를 사용하고 내림차순은 "order by 컬럼명 desc"를 사용한다. 이때 asc는 기본값이므로 생략이 가능하다. 오름차순 및 내림차순에 따른 정렬 순서는 아래 표와 같다.


 예제를 통해서 알아보자.


select * from emp order by hiredate desc; -- 최근 입사한 순으로 데이터 출력
select * from emp where deptno=10 order by sal desc; -- 10번 부서의 급여가 높은 순으로 데이터 출력
select * from emp where sal > 2000 order by ename asc; -- 급여가 2000보다 많은 사원들의 이름순으로 출력
 


 이때 정렬을 하였지만 동일한 데이터가 있을 경우 여러 번 정렬을 추가할 수 있다. 형식은 "order by 칼럼명 정렬 방식, 칼럼명 정렬 방식"이다. 

 

select * from emp order by deptno asc, sal desc; -- 부서번호 순으로 정렬 후 급여가 많은 순으로 정렬
select * from emp order by deptno asc, ename asc; -- 부서번호 순으로 정렬 후 이름순

 

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,