본문 바로가기
반응형

SQL/Oracle91

오라클 WHERE IF ELSE 사용방법 및 예제 오라클에서 WHERE에 IF, ELSE IF, ELSE를 사용하려는 경우에는 MYBATIS에서 사용하는 것이 최선이지만 상황이 여의치 않을 경우에는 WHERE 절에 IF 처럼 넣어 줄 수 있는데 WHERE ((조건1) OR (조건2)) 이런 식으로 넣게 된다 위 예제에서는 JOB이 CLERK일 경우에는 SAL이 1000 이하인 행만 JOB이 PRESIDENT라면 SAL이 3000 이상인 행만 그 외의 경우에는 SAL이 2900 이상인 값만 가져오는 식인데 1=1으로 한 이유는 어차피 위 두 조건이라면 위에서 걸려서 빠지기 때문에 1=1 로 하건 JOB NOT IN ('CLERK', 'PRESIDENT')로 하건 동일하게 걸리게 되므로 상관이 없어진다 만약 ELSE 절이 필요가 없을 경우 해당 OR 쪽을 .. 2020. 11. 24.
오라클 WITH 개념 및 예제 (가상 테이블 생성하여 활용) 오라클에서 WITH는 가상의 테이블을 만들 때 사용하는데 WITH 테이블명 AS ( 테이블명에 들어갈 값 ) 이런 식으로 사용하게 된다 위 스크린샷과 같이 DUAL을 이용해 값을 넣거나 SELECT * FROM EMP와 같이 EMP 테이블의 데이터를 TBL1 안에 넣어줄 수 있다 위 예제에서는 WITH TBL1 AS 로 테이블을 생성하고 'E' 값을 넣은 후 아래에서 SELECT * FROM TBL1로 가상의 테이블인 TBL1의 데이터를 조회할 수 있는 것이 보인다 WITH를 여러개 사용할 경우에는 WITH 테이블명 AS (), 테이블명 AS () 이런 식으로 사용하면 된다 WITH 안에서는 UNION, UNION ALL을 사용해 타 WITH 테이블과도 합치기가 가능하다 마지막으로 예제에 사용한 쿼리는 .. 2020. 11. 24.
오라클 ROLLUP 개념 및 예제 오라클에서 ROLLUP은 소계, 합계를 자동으로 뽑을 때 사용하는데 GROUP BY 후 기준으로 사용할 컬럼을 ROLLUP(컬럼) 으로 묶어주는 식이 되겠다 위 예제를 보면 해당되는 컬럼의 값이 쭉 나오고 소계, 합계가 나오는 것이 보인다 ROLLUP 이전에는 소계, 합계를 구하려면 CONNECT BY를 이용해서 쿼리를 길게 뽑아야 했는데 ROLLUP을 이용하면 컬럼만 지정해줘도 알아서 뽑아주게 된다 실제 ROLLUP을 이용해 소계 합계를 뽑을 때 ROLLUP만 사용하면 해당 컬럼이 정확히 소계, 합계에 해당하는지 분간이 어렵기 때문에 GROUPING 같이 사용하게 되는데 해당 예제는 아래 글에서 확인해주면 되고 오라클 ROLLUP을 이용해 소계 합계 구하는 방법 오라클에서는 ROLLUP을 이용해 GRO.. 2020. 11. 23.
오라클 PL/SQL 수정 시 자동 백업방법(형상관리) 오라클에서 PL/SQL 사용 시 이클립스와 같은 History 기능을 지원하지 않기 때문에 함수, 프로시저, 패키지 만지다가 이전 내용 까먹어서 CTRL + Z로 복원이 안되면 시원하게 코드 날려먹은 건데 트리거를 하나 만들어두면 테이블에 변경 내용을 쌓아주기 때문에 테이블 몇개로 버전관리가 가능해진다 drop trigger plsql_trigger; drop table plsql_params purge; drop table plsql_history cascade constraints purge; drop table plsql_history_source cascade constraints purge; drop table plsql_log cascade constraints purge; 먼저 이전에 테이블.. 2020. 11. 23.
오라클 ROLLUP을 이용해 소계 합계 구하는 방법 오라클에서는 ROLLUP을 이용해 GROUP BY로 분류한 전체 ROW와 소계, 총계를 구할 수 있는데 오라클 ROLLUP 개념 및 예제 오라클에서 ROLLUP은 소계, 합계를 자동으로 뽑을 때 사용하는데 GROUP BY 후 기준으로 사용할 컬럼을 ROLLUP(컬럼) 으로 묶어주는 식이 되겠다 위 예제를 보면 해당되는 컬럼의 값이 쭉 나오고 소계, wakestand.tistory.com 일단 GROUPING(컬럼)을 사용해 일반 ROW인지 소계, 총계에 속하는 ROW인지 분류가 가능한데 GROUPING 사용하는 방법은 아래 링크를 확인해주면 되고 오라클 GROUPING 함수 개념 및 예제 오라클에서 GROUPING 함수는 ROLLUP, CUBE와 함께 사용할 때 쓰이는데 먼저 GROUPING 함수 자체는.. 2020. 11. 20.
오라클 GROUPING 함수 개념 및 예제 오라클에서 GROUPING 함수는 ROLLUP, CUBE와 함께 사용할 때 쓰이는데 먼저 GROUPING 함수 자체는 GROUPING(컬럼명) 으로 사용하며 사용 시에는 반드시 GROUP BY에 GROUPING 해준 항목을 넣어야 한다 보면 GROUPING한 값에서 단일 항목은 0 합쳐놓은 항목은 1이 떨어지는 것이 보인다 이게 GROUPING의 전부다 이걸 통해 GROUPING의 용도를 확인할 수 있는데 조회 시 특정 컬럼의 값으로 분류한 전체 ROW(예제에서는 JOB), 소계, 총계를 구할 때 분류하는 용도로 사용하게 되는데 GROUPING(JOB), GROUPING(SAL)이 0인 값은 소계 총계에 해당하지 않고 SAL이 1인 값은 소계 JOB도 1인 값은 총계에 해당하게 된다 실제 소계, 총계를 .. 2020. 11. 20.

반응형