일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 오라클
- 남궁성
- 국비지원
- RDBMS
- 자바연습문제
- 스프링
- java
- Oracle
- 클린빌드
- 패캠
- ApplicationContext
- 불친절한SQL
- 소셜로그인
- 인프런
- MySQL
- devcamp
- 자바
- cleanbuild
- 자바문제
- SQL
- Spring
- 스프링의정석
- 자바기초
- SpringFramework
- oauth
- mariadb
- 패스트캠퍼스
- 쿼리
- 기초쿼리
- 자바의정석
- Today
- Total
목록오라클 (8)
Darren's Devlog
○ 활용 예제 열 가공 WHERE 절의 열을 가공하면 쿼리의 성능이 저하될 수 있다. 가급적 열을 가공하지 않는 편이 바람직하다. 아래 쿼리는 연봉이 36000 이상인 행을 조회한다. 좌측 쿼리는 산술 연산이 행의 개수만큼 수행된다. 우측 쿼리는 산술 연산을 수행한 결과로 조건을 평가할 수 있다. SELECT * FROM emp WHERE sal * 12 >= 36000; SELECT * FROM emp WHERE sal >= 36000 / 12; 아래 쿼리는 deptno가 10이고 job이 CLERK인 행을 조회한다. 좌측 쿼리는 결합 연산자로 열을 가공했다. 우측 쿼리처럼 AND 조건을 사용해야 한다. SELECT * FROM emp WHERE deptno || job = '10CLERK'; SELE..
LIKE 조건 LIKE 조건은 char1이 char2 패턴과 일치하는 행을 반환한다. char1과 char2는 문자 값을 사용해야 한다. LIKE 조건을 패턴 일치 조건으로 부르기도 한다. char1 [NOT] LIKE char2 [ESCAPE esc_char] char2에 아래의 특수문자를 사용할 수 있다. 특수문자 설명 % 0개 이사의 문자와 일치 _ 하나의 문자와 일치 아래 쿼리는 ename이 A로 시작하는 행을 조회한다. SELECT ename FROM emp WHERE ename LIKE 'A%' 아래 쿼리는 ename이 A로 시작하고 S로 끝나는 행을 조회한다. SELECT ename FROM emp WHERE ename LIKE 'A%S'; 아래 쿼리는 ename에 ON이 포함된 행을 조회한..
● WHERE절 WHERE절을 사용하면 특정 행만 선택하여 조회할 수 있다. WHERE절은 FROM절 다음에 기술하며, FROM절 이후에 수행된다. SELECT 절 -- (3) FROM 절 -- (1) WHERE 절 -- (2) WHERE절의 구문은 아래와 같다. 조건(condition은) 행마다 평가되며, TRUE, FALSE, UNKNOWN 중 하나의 값을 반환한다. SELECT 문은 WHERE절의 평가 결과가 TRUE인 행만 반환한다. WHERE condition 비교 조건, 논리 조건, IN 조건, BETWEEN 조건, LIKE 조건, NULL 조건을 차례대로 살펴보자. 비교 조건 비교 조건으로 표현식을 비교할 수 있다. 아래와 같은 비교 조건을 사용할 수 있다. 비교 조건 설명 비교 조건 설명 ..
○ 인코딩 디코딩 함수 값을 인코딩하거나 디코딩하는 함수이다. DECODE 함수 DECODE 함수는 expr과 search가 일치하면 result, 모두 일치하지 않으면 default를 반환한다. default를 지정하지 않으면 NULL을 반환한다. result와 default의 데이터 타입은 첫 번째 result의 데이터 타입과 동일해야 한다. expr과 데이터 타입이 다른 search는 expr의 데이터 타입으로 변환된다. DECODE(expr, search, result [, search, result]··· [, default]) SELECT DECODE(1, 1, 'A', 2, 'B', 'C') AS c1 , DECODE(2, 1, 'A', 2, 'B', 'C') AS c2 , DECODE(3,..
○ 비교 함수 값 집합의 최소값이나 최대값을 결정하는 함수이다. LEAST 함수, GREATEST 함수 expr 중 최소/최대값을 반환한다. expr에 null이 입력되면 null을 반환한다. expr의 데이터 타입이 동일해야 한다. 데이터 타입이 다르자면 첫 번째 expr의 데이터 타입으로 변환되고, 형변환 에러가 일어날 수 있다. SELECT LEAST(1, 2, 3) AS c1, LEAST('A', 'AB', 'ABC') AS c2, LEAST(1, NULL) AS c3 FROM DUAL; SELECT GREATEST(1, 2, 3) AS c1, GREATEST('A', 'AB', 'ABC') AS c2 , GREATEST(1, NULL) AS c3 FROM DUAL;
○ 널 관련 함수 NULL을 처리하는 함수다. NVL 함수 expr1이 널이 아니면 expr1, 널이면 expr2를 반환한다. NVL(expr1, expr2) SELECT NVL(1, 2) AS c1, NVL (NULL, 2) AS c2 FROM DUAL; SELECT ename, sal, comm, sal + comm AS c1, sal + NVL(comm, 0) AS c2 FROM emp; NVL2 함수 expr1이 널이 아니면 expr2, 널이면 expr3를 반환한다. 삼항 연산자와 유사하다고 느껴진다. NVL2(expr1, expr2, expr3) SELECT NVL2(1, 2, 3) AS c1, NVL2(NULL, 2, 3) AS c2 FROM DUAL; SELECT ename, sal, com..
○ 변환함수 값의 데이터 타입을 다른 데이터 타입으로 변환하는 함수이다. TO_CHAR(number) 함수 숫자 값 n을 fmt형식의 문자 값으로 변환한다. TO_CHAR(n [, fmt [, 'nlsparam']]) 자주 사용되는 포맷이다. 포맷 요소 설명 0 앞쪽이나 뒷쪽에 0을 출력 9 한자리 숫자 , 구분자 . 소수점 S 부호(양수일 경우 +, 음수일 경우 -) G 구문자(NLS_NUMERIC_CHARACTERS으로 변경 가능) D 소수점(NLS_NUMERIC_CHARACTERS으로 변경 가능) $ 달러 L 로컬 통화 기호 U 이중 통화 기호 C 국제 통화 기호 c1과 c4 열은 값이 fmt보다 커 결과가 #으로 표시된다. SELECT TO_CHAR(12, '0' ) AS c1, TO_CHAR(1..
○ 날짜 함수 날짜 값(date, timestamp, interval)을 조작하는 함수이다. 예제를 위해 NLS 파라미터를 아래와 같이 설정했다. ALTER SESSION SET NLS_DATE_FORMAT = "YYYY-MM-DD HH24:MI:SS"; ALTER SESSION SET NLS_TIMESTAMP_FORMAT = "YYYY-MM-DD HH24:MI:SS.FF"; ALTER SESSION SET NLS_TIMESTAMP_TZ_FORMAT = "YYYY-MM-DD HH24:MI:SS.FF TZH:TZM"; SYSDATE 함수 초(second)가 포함된 데이터베이스 서버의 날짜 값을 DATE타입으로 반환한다. SELECT SYSDATE FROM DUAL; SYSDATE 함수 소수점 이하 초() ..