오라클 명령어 실행순서

5. SELECT
1. FROM
2. WHERE - 조건
3. GROUP BY
4. HAVING - 조건
6. ORDER BY


89~110 페이지 개인공부

 

 

 

환경
윈도우10 64비트
오라클 18c 익스프레스

 

스캇 예제
예제를 확인하시려면

https://ondolroom.tistory.com/163

 

 

DECODE

SELECT DECODE(조건값, 비교할갌, 참일경우 출력, 거짓일 경우 출력)
FROM DUAL;
-- DECODE = IF문과 같이 사용, 인수는(조건변수, 비교할변수, 참일경우, 거짓일경우)

SELECT DECODE('LOVE', 'LOVE','참', '거짓')
FROM DUAL;

 

 

SELECT deptno, name, DECODE(deptno, 101, 'Computer Engineering', ' ')
FROM professor;

 

SELECT deptno, name, DECODE(deptno, 101, 'Computer Engineering', 'ETC')
FROM professor;

 

 

SELECT deptno, name, DECODE(조건값, 비교할값1, 비교할값1 일 경우 출력, 
                                    비교할값2, 비교할값2 일 경우 출력,
                                    비교할값3, 비교할값3 일 경우 출력,
                                    비교할 값이 모두 아닐경우) "열 이름"
FROM professor;
SELECT deptno, name, DECODE(deptno, 101, 'Computer Engineering', 
                                    102, 'Multimidia Engineering',
                                    103, 'Software Engineering',
                                    'ETC') "DNAME"
FROM professor;

 

 

SELECT deptno, name, DECODE(조건값, 비교할값, DECODE(조건값2, 비교할값2, 참일경우 출력2, 거짓일 경우 출력2), 거짓일 경우 출력) "BEST"
FROM professor;
SELECT deptno, name, DECODE(deptno, 101, DECODE(name, '조인형', 'BEST!', ' '), ' ') "BEST"
FROM professor;

 

 

SELECT deptno, name, DECODE(deptno, 101, DECODE(name, '조인형', 'BEST!', 'GOOD!'), ' ') "BEST"
FROM professor;

 

 

SELECT deptno, name, DECODE(deptno, 101, DECODE(name, '조인형', 'BEST!', 'GOOD!'), 'N/A') "BEST"
FROM professor;

 

 

SELECT name, jumin, DECODE(SUBSTR(jumin, 7,1), '1','MAN','2', 'WOMAN') "Gender"
FROM student
WHERE deptno1 = 101;

 

 

SELECT name, tel, DECODE(SUBSTR(tel, 1, INSTR(tel,')')-1), '02', 'SEOUL',
                                '031', 'GYEONGGI',
                                '051', 'BUSAN',
                                '052', 'ULSAN',
                                '055', 'GYEONGNAM') "LOC"
FROM student
WHERE deptno1 = 101;

환경
윈도우10 64비트
오라클 18c 익스프레스

 

스캇 예제
예제를 확인하시려면

https://ondolroom.tistory.com/163

 

 

현재날짜 출력

-- 오늘 날짜 출력
SELECT SYSDATE
FROM DUAL;

아래링크처럼 적용하면 시간까지 출력가능

참고

http://www.java2s.com/Code/Oracle/SQL-Plus/altersessionsetnlsdateformatddMONyyyyhh24miss.htm

 

 

'Database > OracleSQL' 카테고리의 다른 글

오라클 명령어 실행순서  (0) 2020.03.25
오라클 DECODE  (0) 2020.03.25
오라클 POWER, ROUND, MOD  (0) 2020.03.25
오라클 오름차순 내림차순 ORDER BY  (0) 2020.03.25
오라클 null값 찾기, IS NULL, NVL  (0) 2020.03.25

환경
윈도우10 64비트
오라클 18c 익스프레스

 

스캇 예제
예제를 확인하시려면

https://ondolroom.tistory.com/163

 

 

 

SELECT POWER(2,64) -- power는 승수를 계산
FROM dual;

 

 

-- ROUND 반올림 // TRUNK 버림

SELECT ROUND(123.4567, 2), TRUNC(123.4567, 2)
FROM DUAL;

 

 

-- MOD 나머지 // CEIL 가장가까운 위 정수 // FLOOR 가장가까운 아래 정수

SELECT MOD(121,10), CEIL(123.45), FLOOR(123.45) 
FROM DUAL;

 

 

'Database > OracleSQL' 카테고리의 다른 글

오라클 DECODE  (0) 2020.03.25
오라클 현재 날짜 출력 + 시간  (0) 2020.03.25
오라클 오름차순 내림차순 ORDER BY  (0) 2020.03.25
오라클 null값 찾기, IS NULL, NVL  (0) 2020.03.25
오라클 LIKE 내용 일부 검색  (2) 2020.03.25

환경
윈도우10 64비트
오라클 18c 익스프레스

 

스캇 예제
예제를 확인하시려면

https://ondolroom.tistory.com/163

 

 

ORDER BY

오름차순

SELECT *
FROM emp
WHERE sal > 1000
ORDER BY sal ASC; -- 어센딩

 

내림차순

SELECT *
FROM emp
WHERE sal > 1000
ORDER BY sal DESC; -- 이 DESC는 디스크라이브가 아니라 디센딩

 

 

SELECT ENAME, SAL, COMM
FROM EMP
ORDER BY SAL DESC, COMM DESC;

 

두번째 컬럼(열)을 정렬하기

SELECT ENAME, SUBSTR(SAL, 1, 1)
FROM EMP
ORDER BY 2 DESC;

 

 

환경
윈도우10 64비트
오라클 18c 익스프레스

 

스캇 예제
예제를 확인하시려면

https://ondolroom.tistory.com/163

 

 

IS NULL

 

COMM이  500 이하인 것을 찾고싶을 경우 검색을 하면  null은 나오지 않는다.

 

 

NVL을 사용하면 null을 포함한 값을 검색할 수 있다.

 

 

환경
윈도우10 64비트
오라클 18c 익스프레스

 

스캇 예제
예제를 확인하시려면

https://ondolroom.tistory.com/163

 

 

LIKE

아래는 %N%을 실행해본 결과

 

 

환경
윈도우10 64비트
오라클 18c 익스프레스

 

스캇 예제
예제를 확인하시려면

https://ondolroom.tistory.com/163

 

 

날짜 포맷 변경하기

emp를 검색하면 날짜가 80/12/17 과 같이 나온다
그 포맷을 변경하려면

정렬 되기전 상태

 

ALTER SESSION SET NLS_DATE_FORMAT = 'YY-MM-DD';

 

+ Recent posts