rollup은 총 갯수, 총 합계 등만 가능했지만, cube는 결합 가능한 모든 값에 대하여 다차원 집계를 생성한다. 간단한 합계는 rollup을 사용하며, 다차원, 복합 합계는 cube를 사용한다. cube는 다차원, 복합합계를 지원하므로 자원을 더 쓸테니까 필요에 따라 사용하면 된다. rollup은 여기를 참고 2021.03.29 - [Sql] - 그룹 함수-rollup, rollup orderby, grouping 그룹 함수-rollup, rollup orderby, grouping GROUP BY로 그룹핑한 로우들의 갯수나, 합계 등을 구해주는 기능이있다. oracle에서는 ROLLUP인데 mysql에서는WITH ROLLUP을 사용한다. 1. oracle select count(*) 'total ..
GROUP BY로 그룹핑한 로우들의 갯수나, 합계 등을 구해주는 기능이있다. oracle에서는 ROLLUP인데 mysql에서는WITH ROLLUP을 사용한다. 1. oracle select count(*) 'total empl', sum(SAL) 'total sal' from EMP, DEPT where DEPT.DEPTNO = EMP.DEPTNO group by rollup (DNAME, JOB) -----> rollup 사용 2. mysql SELECT COUNT(IDX),IDX,WRITER,CONTENTS FROM TB_BOARD_COMMON_BJS GROUP BY WRITER WITH ROLLUP --> rollup 사용 가장 중요한 것은 SELECT 절에 집계함수를 사용 해야 한다. 그래야 결과..
1. 다중 행 서브쿼리 서브쿼리의 결과가 2건 이상 반환 될 수 있다면 반드시 다중 행 비교 연산자와 함께 사용 해야 한다. 그렇지 않으면 sql 문은 오류를 반환한다. 연산자 내 용 IN (서브쿼리) 서브쿼리의 결과에 존재하는 임의의 값과 동일한 조건을 의미 (multiple or 조건) 비교연산자 ALL (서브쿼리) 서브쿼리의 결과에 존재하는 모든 값을 만족하는 조건을 의미한다. 비교 연산자로 ">"를 사용 했다면 메인 쿼리는 서브쿼리의 모든 결과 값을 만족 해야 하므로, 서브쿼리 겨로가의 최대값보다 큰 모든 건이 조건을 만족한다. 비교연산자 ANY (서브쿼리) 서브쿼리의 결과에 존재하는 어느 하나의 값이라도 만족하는 조건을 의미한다. 비교 연산자로 ">"를 사용 했다면 메인 쿼리는 서브쿼리의 값들 ..