LIKE / SORT
LIKE 연산자는 검색하고자 하는 값을 정확히 모를 경우에도 검색 가능하도록 하기 위해서 와일드 카드와 함께 사용하여 원하는 내용을 검색 하도록 한다.
형식 : column_name LIKE pattern
와일드 카드 |
의미 |
% |
문자가 없거나, 하나 이상의 문자가 어떤 값이 와도 상관없다. |
_ |
하나의 문자가 어떤 값이 와도 상관없다. |
와일드 카드 %
찾으려는 이름이 F로 시작 하는 것은 알지만 그 뒤의 문자는 모를 경우
SELECT *FROM EMP WHERE ENAME LIKE 'F%';
F가 이름 안에 포함될 때
SELECT *FROM EMP WHERE ENAME LIKE '%F%';
F로 끝이 날 때
SELECT *FROM EMP WHERE ENAME LIKE '%F';
와일드 카드 _
※ %와 마찬가지로 어떤 문자가 오든 상관 없다, 차이점은 %는 몇개의 문자가 오든 상관 없지만, _는 단 한문자에 대해서만 와일드 카그 역할을 한다.
두번째 글자가 A인 사원 이름 찾기
SELECT *FROM EMP WHERE ENAME LIKE _A%;
세번째 글자가 A인 사원 이름 찾기
SELECT *FROM EMP WHERE ENAME LIKE _ _A%;
NOT LIKE 연산자
A를 포함하지 않은 데이터를 출력하고 싶을 때
SELECT *FROM EMP WHERE ENAME NOT LIKE '%A%';
NULL 연산자
SELECT *FROM EMP WHERE COMM=NULL:
※ NULL 값을 가진 데이터와 비교연산한 결과는 '선택된 레코드가 없습니다.' 라고 나온다.
NULL이 저장되어 있는 경우에는 = 연산자로 판단 할 수 없다.
IS NULL 연산자를 사용해야 한다.
형식 : 대상컬럼 IS (연산자) NULL (비교값)
커미션을 받지 않는 사원을 검색
SELECT *FROM EMP WHERE COMM IS NULL;
정렬을 위한 ORDER BY 절
● 정렬이란 크기 순서대로 나열하는 것을 의미
● 오름차순 정렬 방식 : 작은 것이 위에 출력되고 아래로 갈수록 큰 값이 출력, 디폴트로 오름 차순으로 지정되어 있음
● 내림차순 정렬 방식 : 큰 값이 위에 출력되고 아래로 갈수록 작은 값이 출력
● 로우를 정렬하기 위해서는 SELECT 문에 ORDER BY 절을 추가하고 어떤 컬럼을 기준으로 어떤 정렬을 할 것인지 결정 해야 한다.
|
오름차순(ASC) |
내림차순(DESC) |
숫자 |
작은 값부터 정렬 |
큰 값부터 정렬 |
문자 |
사전 순서로 정렬 |
사전 반대 순서로 정렬 |
날짜 |
빠른 날짜 순서로 정렬 |
늦은 날짜 순서로 정렬 |
NULL |
가장 마지막에 나온다 |
가장 먼저 나온다 |
SELECT * FROM EMP ORDER BY SAL ASC;
SELECT *FROM EMP ORDER BY SAL: (디폴트로 오름차순 정렬)
※ 문자 데이터의 경우 아스키 코드 값을 기준으로 정렬 한다
정렬 방식에도 여러가지 조건을 제시 할 수 있다.
예: 급여가 같은 사람이 존재 할 경우 이름의 철자가 빠른 사람부터 출력 되도록
SELECT *FROM EMP ORDER BY SAL DESC, ENAME ASC;
'DATABASE > ORACLE' 카테고리의 다른 글
[Oracle] SQL 문자 함수 (0) | 2018.04.19 |
---|---|
[Oracle] SQL 숫자 함수 (0) | 2018.04.19 |
[Oracle] SQL 논리 연산자 / Between in (0) | 2018.04.19 |
[Oracle] SQL where query (SQL 조건연산자) (1) | 2018.04.19 |
[Oracle] SQL Operator (0) | 2018.04.18 |