일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Secure Coding
- 스프링MVC
- 시큐어코딩
- 자바의정석
- 자바연습문제
- 제네릭
- 서블릿
- 스프링 핵심원리
- 자바공부
- java
- 분석함수
- 김영한
- 이것이자바다
- 자바의정석 연습문제
- inflearn
- 스프링 부트와 JPA
- 스프링입문
- Numpy
- JPA
- 불친절한SQL프로그래밍
- Python
- REGEXP_SUBSTR
- 스프링
- 계층 쿼리
- 불친절한 SQL 프로그래밍
- DispatcherServlet
- Java의정석
- docker
- Spring
- 인프런
- Today
- Total
목록분류 전체보기 (119)
Continuous Challenge
15.1.1 ROWNUM 문법 ORDER BY 절로 행을 정렬하고, 정렬된 행을 ROWNUM 슈도 칼럼으로 제한한다. ROWNUM 슈도 칼럼은 행이 반환되는 순서대로 순번을 반환한다. 1부터 시작하고 행이 반환될 때마다 순번이 증가한다. Top-N 쿼리는 시스템 성능에 미치는 영향이 크기 때문에 작성 표준을 신중하게 결정해야 한다. 현재까지는 ROWNUM 방식을 가장 많이 사용하고 있다. SELECT empno, sal, ROWNUM AS rn WHERE ROWNUM = 2; 위의 쿼리는 결과가 반환되지 않는다. ROWNUM 슈도 칼럼은 1부터 시작하고 행이 반환될 때마다 순번이 증가하기 때문에 ROWNUM = 2 조건은 항상 FALSE 다. sal을 오름차순으로 정렬하여 상위 5개의 행을 조회할 때, ..
379p 14.2.6 기타 함수 LAG 함수 LAG 함수는 현재 행에서 offset 이전 행의 value_expr을 반환한다. offset은 행 기준이며 기본값은 1이다. default에 이전 행이 없을 경우 반환할 값을 지정할 수 있다. default의 기본값은 널이다. LAG (value_expr [, offset [, default]]) [IGNORE NULLS] OVER ([query_partition_clause] order_by_clause) LEAD 함수 LEAD 함수는 현재 행에서 offset 이후 행의 value_expr을 반환한다. LEAD (value_expr [, offset [, default]]) [IGNORE NULLS] OVER ([query_partition_clause] ..
12.5.1 SUBQUERY FACTORING 절 SUBQUERY FACTORING 절을 사용하면 서브 쿼리에 이름을 부여하고, 이름이 부여된 서브쿼리를 메인 쿼리에서 반복 사용할 수 있다. WITH query_name AS (subquery) [, query_name AS (subquery)]... SELECT * FROM query_name;
p.204 10.2.1 ROLLUP ROLLUP은 지정한 표현식의 계층별 소계와 총계를 집계한다. ROLLUP(expression_list [, expression_list] ...) ROLLUP은 아래와 같이 동작한다. expr을 뒤쪽부터 하나씩 제거하는 방식이다. 결과에서 (a, b, c)는 a, b, c의 소계, ()는 총계를 의미한다. GROUP BY 결과 ROLLUP (a) (a), ( ) ROLLUP (a, b) (a, b), (a), ( ) ROLLUP (a, b, c) (a, b, c), (a, b), (a), ( ) 10.2.2 CUBE CUBE는 지정한 표현식의 모든 조합을 집계한다. CUBE (expression_list [, expression_list] ...) CUBE는 아래와 ..
p.156 LNNVL 함수 LNNVL 함수는 condition이 FALSE나 UNKNOWN이면 TRUE, TRUE면 FALSE를 반환한다. WHERE절과 CASE 표현식에 사용할 수 있다. LNNVL(condition) SELECT ename, comm FROM emp WHERE (comm IS NULL OR comm = 0); 두 쿼리는 논리적으로 동일하다.
IN조건은 expr의 목록과 일치하거나 일치하지 않는 행을 반환한다. expr [NOT] IN (expr [,expr]) IN조건은 널이 입력되어도 결과가 반환된다. 위 쿼리는 SELECT ename, mgr FROM emp WHERE mgr = 7839 OR mgr = NULL; 의 쿼리로 해석된다. mgr = NULL 조건은 UNKNOWN으로 평가되고, OR 조건은 조건이 하나라도 TRUE이면 TRUE이므로 mgr = NULL 조건이 무시된다. NOT IN 조건의 expr에 널이 입력되면 결과가 반환되지 않는다. IN 조건을 아래와 같은 방식으로 사용할 수도 있다. 위 쿼리는 SELECT ename, empno, mgr FROM emp WHERE (empno = 7839 OR mgr = 7839); ..
비교 함수(general comparison function)는 값 집합의 최소값이나 최대값을 결정하는 함수다. LEAST 함수 LEAST 함수는 expr 중 최소값을 반환한다. expr에 널이 입력되면 널을 반환한다. LEAST(expr [, expr] ...) GREATEST 함수 GREATEST 함수는 expr 중 최대값을 반환한다. expr에 널이 입력되면 널을 반환한다. GREATEST(expr [, expr] ...) LEAST 함수와 GREATEST 함수는 expr의 데이터 타입이 동일해야 한다. 데이터타입이 다른 expr은 첫 번째 expr의 데이터 타입으로 변환된다.
NVL 함수 NVL 함수는 expr1이 널이 아니면 expr1, 널이면 expr2를 반환한다. NVL(expr1, expr2) NVL2 함수 NVL2 함수는 expr1이 널이 아니면 expr2, 널이면 expr3를 반환한다. NVL2(expr1, expr2, expr3) COALESCE 함수 COALESCE 함수는 널이 아닌 첫 번째 expr을 반환한다. NVL 함수의 기능을 확장한 함수다. COALESCE(expr [, expr] ...) NULLIF 함수 NULLIF 함수는 expr1과 expr2가 다르면 expr1, 같으면 널을 반환한다. NULLIF(expr1, expr2)
변환 함수(conversion function)는 값의 데이터 타입을 다른 데이터 타입으로 변환하는 함수이다. TO_CHAR(number) 함수 TO_CHAR(number) 함수는 expr을 fmt 형식의 문자 값으로 변환한다. TO_CHAR(n, fmt [, 'nlsparam']]) 포맷 요소 설명 0 앞쪽이나 뒷쪽에 0을 출력 9 한자리 숫자 , 구분자 . 소수점 S 부호(양수면 +, 음수면 -) 포맷 요소 설명 파라미터 G 구분자(Group separator) NLS_NUMERIC_CHARACTERS D 소수점(Decimal character) NLS_NUMERIC_CHARACTERS 포맷 요소 설명 파라미터 $ 달러 L 로컬 통화 기호 NLS_CURRENCY U 이중 통화 기호 NLS_DUAL_C..
NEXT_DAY 함수 NEXT_DAY 함수는 date 이후 char에 지정된 요일에 해당하는 가장 가까운 날짜 값을 반환한다. NEXT_DAY(date, char) 일 월 화 수 목 금 토 1 2 3 4 5 6 7 EXTRACT 함수 EXTRACT 함수는 expr에서 날짜 정보를 추출한다. EXTRACT({ YEAR | MONTH | DAY | HOUR | MINUTE | SECONT } FROM expr) ROUND(date) 함수 ROUND(date) 함수는 fmt를 기준으로 date를 반올림한다. fmt의 기본값은 DD다. ROUND(date [, fmt]) 포맷 요소 설명 ROUND 기준 CC 세기 연도의 끝 두 자리 51년 YY 년 7월 1일 Q 분기 분기의 둘째 달 16일 MM 월 16일 DD..