전체 글 84

[SQL] 오라클 ROW_NUMBER() 함수

ROW_NUMBER 함수 ROW_NUMBER ROW_NUMBER 함수는 RANK나 DENSE_RANK 함수가 동일한 값에 대해서 는 동일한 순위를 부여하는데 반해, 동일한 값이라도 유니크한 순위를 부여 한다. 사용방법 글의 순번매기기, 성적순, 중복데이터중 1번인 데이터만 뽑을때(중복없이 데이터를 뽑고 싶을때....) 사용 [예제] 사원데이터에서 사원데이터에서 급여가 높은 순서와, 동일한 순위를 인정하지 않는 등수도 같이 출력한다. SELECT JOB, ENAME, SAL, RANK() OVER (ORDER BY SAL DESC) RANK, ROW_NUMBER() OVER (ORDER BY SAL DESC) ROW_NUMBER FROM EMP; 출처: 한국데이터베이스진흥원

카테고리 없음 2023.03.28

[SQL] 오라클 OVER 함수

OVER절 이란? (총합,순위,퍼센테이지,평균,누적) 데이터를 통계 OR 다수의 집계결과가 필요할때 서브쿼리를 사용하지 않고 간단하게 만들어주는 것 OVER() 함수 사용법 1. 분석 함수 + OVER()는 필수 2. OVER 안의 내용은 필요한 경우에만 작성 분석_함수() OVER(PARTITION BY 컬럼 / ORDER BY 컬럼 / 세부 분할 기준) AS 컬럼명 분석 함수 종류 - RANK, DENSE_RANK에는 ORDER BY 필수 COUNT(컬럼) - 갯수 SUM(컬럼) - 합계 AVG(컬럼) - 평균 MAX(컬럼) - 최대값 MIN(컬럼) - 최소값 RANK() OVER(ORDER BY 컬럼...) - 순위 DENSE_RANK() OVER(ORDER BY 컬럼...) - 중복 순위가 있어도..

DB 2023.03.28

[SQL] SQL 각각의 구문의 의미와 순서

#. 오라클 읽는 순서 SELECT 컬럼명 --------------------- (5) 추출된 데이터들을 조회 FROM 테이블명------------------- (1) 테이블을 가장 먼저 확인 WHERE 테이블 조건 --------------- (2) 테이블에서 주어진 조건에 맞는 데이터들을 추출 GROUP BY 컬럼명 -------------------- (3) 공통적인 데이터들끼리 묶어 그룹 HAVING 그룹 조건 ----------------- (4) 주어진 주건에 맞는 그룹들을 추출 ORDER BY 컬럼명 -------------------- (6) 추출된 데이터들을 정렬 1 FROM …으로부터 (A 테이블을 가지고) 2 WHERE 어디에 있는? (A 테이블에 있는 NAME이 박인 얘들을 가지..

DB 2023.03.28

[SQL] 조건문 DECODE

내 블로그에 빠르게 보기위해서 퍼온글 [SQL] 조건문 - DECODE, CASE~WHEN~THEN 조건문 - DECODE DECODE(A, B, '1', null) :: A 가 B 일 경우 '1'을, 아닐 경우 null(생략 가능) DECODE(A, B, '1', '2') :: A 가 B 일 경우 '1'을, 아닐 경우 '2' DECODE(A, B, '1', C, '2', '3') :: A 가 B 일 경우 '1'을, A 가 C 일 경 data-make.tistory.com 조건문 - DECODE DECODE(A, B, '1', null) :: A 가 B 일 경우 '1'을, 아닐 경우 null(생략 가능) DECODE(A, B, '1', '2') :: A 가 B 일 경우 '1'을, 아닐 경우 '2' DEC..

DB 2023.03.23

[SQL] GROUP BY절, HAVING 절

GROUP BY 절 GROUP BY 절은 SQL 문에서 FROM 절과 WHERE 절 뒤에 오며 GROUP BY 절은 행들을 소그룹화 한다. 데이터들을 작은 그룹으로 분류하여 소그룹에 대한 항목별로 통계 정보를 얻을 때 추가로 사용된다 GROUP BY 절과 HAVING 절은 다음과 같은 특성을 가진다. - GROUP BY 절을 통해 소그룹별 기준을 정한 후, SELECT 절에 집계 함 수를 사용한다. - GROUP BY GROUP BY 절에서는 SELECT 절과는 달리 칼럼 ALIAS 명을 사용할 수 없다. - WHERE 절은 전체 데이터를 GROUP으로 나누기 전에 행들을 미리 제 거시킨다. - GROUP BY 절과 HAVING 절의 순서를 바꾸더라도 문법 에러가 없고 결과물도 동일한 결과를 출력한다. ..

DB 2023.03.23