작성일자 : 2023-07-10 수정일자 : 2023-07-23 Ver 0.1.2 1. 사용법 오라클 SQL에서 GROUP BY 절을 사용하여 그룹별 건수나 합계 등의 집계 값들을 얻을 수 있다. 그룹별 집계된 결과 중 원하는 조건의 결과만 필터링하기 위해서는 HAVING절을 사용하여 필터 조건을 사용할 수 있다. Syntax SELECT COL1, COL2 FROM TABLE WHERE CONDITION GROUP BY COL1, COL2, ... GROUP BY 절은 GROUPING 컬럼/표현식들의 값이 같은 행들로 행 그룹(group of rows)을 생성하고, 각 행 그룹당 1개의 행으로 그룹화(Group)한다. ex) JOB 컬럼 값이 'CLERK'인 4개의 행들로 행 그룹이 생성되고, 이는 최..
SQL
작성일자 : 2023-07-09 수정일자 : 2023-07-23 Ver 0.1.2 1-1. ROWNUM Oracle의 ROWNUM은 칼럼과 비슷한 성격의 Pseudo Column으로써 SQL 처리 결과 집합의 각 행에 대해 임시로 부여되는 일련번호이며, 원하는 만큼의 행만 가져오고 싶을 때 WHERE 절에서 행의 개수를 제한하는 목적으로 사용한다. WHERE 절에 ROWNUM 조건을 사용하면 조회되는 행의 개수를 제한할 수 있다. ROWNUM = 1이나 ROWNUM >=1 등은 결과가 출력되긴 하지만 사용을 권장하지는 않는다. (ROWNUM
작성일자 : 2023-07-08 Ver 0.1.1 1. 스칼라 서브쿼리 SELECT 절에 사용되며 단일 값을 리턴하는 서브쿼리 메인 쿼리 집합의 각 행마다 실행되어 단일 값(1row, 1column)을 리턴하는 상관 서브쿼리 메인 쿼리 집합의 결과 건수는 스칼라 서브쿼리에 의해 변경되지 않는다. 서브 쿼리의 결과가 단일 행값이 아니면 에러가 발생한다. (2개 이상인 경우 집계 함수를 사용하여 집계 값을 구한다) 열이 2개 이상인 경우, 각각의 스칼라 서브 쿼리로 나눠 사용한다. 스칼라 서브 쿼리를 과다하게 남용하면 성능이 느려짐 SELECT a.empno , a.ename , a.deptno , (SELECT dd.dname FROM dept dd WHERE dd.deptno = a.deptno) AS ..