[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; -- 부서번호 순으로 정렬 후 이름순
'프로그래밍 > MS-SQL' 카테고리의 다른 글
SQL 기본 구문 ( SQL 기본 명령어) (0) | 2018.03.30 |
---|---|
[ 테이터베이스] SQL이란 ? (0) | 2018.03.29 |
[SQL강좌] SELECT DISTINCT 구문 (0) | 2018.03.06 |
[SQL 구문] SQL 의 SELECT 구문 예제 연습 (0) | 2018.03.05 |
SQL 기본 구문 (0) | 2018.03.04 |