본문 바로가기

oracle11

[SQLD]SQL활용_그룹함수 ROLLUP소그룹간의 소계를 계산.GROUP BY의 확장된 형태로 사용하기 쉬우며 병렬로 수행이 가능하기 때문에 매우 효과적이다.시간 및 지역처럼 계층적 분류를 포함하고 있는 데이터의 집계에 적합하다.CUBE결합 가능한 모든 값에 대하여 다차원적인 집계를 생성.ROLLUP에 비해 다양한 데이터를 얻는 장점이 있지만, 시스템에 부하를 많이 주는 단점이 있다.GROUPING SETS원하는 특정 항목에 대한 소계만 손쉽게 추출할 수 있는 장점이 있다.--1. 부서명과 업무명을 기준으로 사원수와 급여 합을 집계 SELECT DNAME , JOB , COUNT ( * ) Total_Emp , SUM (SAL) Total_Sal FROM EMP, DEPT .. 2017. 11. 22.
[SQLD] SQL기본_JOIN INNER JOINJOIN 조건에서 동일한 값이 있는 행만 반환USING, ON 조건절을 필수적으로 사용해야 한다.--INNER JOINSELECT T0.LAST_NAME, T1.DEPARTMENT_NAME FROM EMPLOYEES T0 INNER JOIN DEPARTMENTS T1 ON T0.DEPARTMENT_ID = T1.DEPARTMENT_ID NATURAL JOIN두 테이블 간의 동일한 이름을 갖는 모든 칼럼들에 대해 EQUI JOIN을 수행USING, ON, WHERE 절에 JOIN 조건을 정의할 수 없다.--NATURAL JOINSELECT T0.LAST_NAME, T1.DEPARTMENT_NAME FROM EMP.. 2017. 11. 21.
[SQLD] SQL기본_GROUP BY, HAVING절 GROUP BY 절과 HAVING 절의 특성1. GROUP BY 절을 통해 소그룹별 기준을 정한 후, SELECT 절에 집계 함수 사용2. 집계 함수는 NULL 값을 가진 행을 제외하고 수행3. GROUP BY 절에는 ALIAS 명 사용 불가능4. WHERE 절에는 집계함수 올 수 없음 (WHERE 절이 GROUP BY 절보다 먼저 수행되기 때문이다)5. HAVING 절은 GROUP BY 절의 기준 항목이나 소그룹의 집계 함수를 이용한 조건 표시 가능 SELECT 문장 실행 순서1. 발췌 대상 테이블 참조 ( FROM )2. 발췌 대상 데이터가 아닌 것은 제거 ( WHERE )3. 행들을 소그룹화 ( GROUP BY )4. 그룹핑된 값의 조건에 맞는 것만 출력 ( HAVING )5. 데이터 값 출력, 계.. 2017. 11. 21.
[SQLD] 함수 /***문자형 함수***//* 결과: 10 */SELECT LENGTH('SQL EXPERT') FROM DUAL;/* 결과: 홍길동 축구선수 */SELECT CONCAT(PLAYER_NAME, ' 축구선수') FROM PLAYER;SELECT PLAYER_NAME||' 축구선수' FROM PLAYER;/* SQL Server */SELECT PLAYER_NAME+' 축구선수' FROM PLAYER;/***숫자형 함수***//* 소수점 이하 한 자리까지 반올림, 내림 */SELECT ENAME, ROUND(SAL/12, 1), TRUNC(SAL/12, 1) FROM EMP;/*** 숫자형 함수 ***/ /***날짜형 함수***/SELECT ENAME , HIREDATE , EXT.. 2017. 11. 20.
[SQLD] SQL기본_DDL /* 선수 정보 */CREATE TABLE PLAYER ( PLAYER_ID CHAR (7) NOT NULL , PLAYER_NAME VARCHAR2 (20) NOT NULL , TEAM_ID CHAR (3) NOT NULL , BIRTH_DATE DATE , WEIGHT NUMBER (3) , CONSTRAINT PLAYER_ID_PK PRIMARY KEY (PLAYER_ID) , CONSTRAINT PLAYER_ID_FK FOREIGN KEY (TEAM_ID) REFERENCES TEAM (TEAM_ID) );/* 팀 정보 */CREATE TABLE TEAM ( TEAM_ID CHAR (3) NOT NULL , REGION_NAME VARC.. 2017. 11. 20.
ORACLE → MSSQL 쿼리 변환 1. NULL값 치환 NVL → ISNULL2. 문자열 연결 || → +3. 차집합 MINUS → EXCEPT4. 교집합 INTERSECT → NOT EXIST5. 조건표현식 DECODE → CASE ~ WHEN ~ THEN6. 문자열 길이 LENGTH → LEN7. 문자열 자르기 SUB → SUBSTRING8. 나눗셈 MOD(M, N) → M % N9. 올림 CEIL → CEILING10. 버림 TRUNC(M, N) → ROUND(M, N, 1)11. 프로시저 실행 BEGIN → EXCEPT12. 숫자나 날짜를 문자열로 변환 TO_CHAR → CONVERT13. 현재 날짜, 시간 SYSDATE → GETDATE14. 조인 (+) → OUTER JOIN15. 공백제거 TRIM(STR) → LTRIM(RT.. 2017. 10. 18.