목록computer science (51)
IT STUDY LOG
# 그룹함수 - GROUP BY의 확장 GROUP BY ROLLUP절 GROUP BY ROLLUP의 동작 방식 뒤 인자부터 순차적으로 소거하며 그룹핑 GROUP BY ROLLUP(a, b, c): GROUP BY a, b, c / GROUP BY a, b / GROUP BY a / GROUP BY 전체 수행 GROUP BY ROLLUP(a, (b, c)): GROUP BY a, (b, c) / GROUP BY a / GROUP BY 전체 수행 */ SELECT deptno, job, COUNT(*) FROM emp WHERE deptno IN (10, 20, 30) GROUP BY ROLLUP(deptno, job); -- ROLLUP 안에서 세분화된 그룹핑 SELECT deptno, job, COUNT..
# SET 연산자 작성 방법 : SELECT 문 + SET 연산자 + SELECT 문 + SET 연산자 + ... 집합 연산자의 경우 우선순위가 없어 순차적으로 처리함 (괄호 사용 시 우선순위 지정 가능) SELECT절의 컬럼 수와 데이터 타입이 일치해야 함 (컬럼명은 일치하지 않아도 됨) 집합 연산의 경우 첫번째로 쓰여진 SQL 문이 기준 ORDER BY절은 맨 마지막 SQL문 명령문 한 번밖에 쓸 수 없으며, 헤드 기준 컬럼명을 써야 함(컬럼명으로 정렬하기 보다는 컬럼 순서(1,2,3...)로 정렬하기를 권장) 합집합 메모리 상에 정렬 후 출력 -- UNION : 중복된 행을 제외하고 결과 출력, 결과값 정렬 수행 SELECT deptno, ename, job FROM emp WHERE job = '..
# ANSI 조인 INNER JOIN 사용 방법 ON절 사용 조인 조건 절에 컬럼 명시 가능 조인 조건에 동등 연산자 이외의 연산자 또한 사용 가능 조인 조건에서 사용할 컬럼명이 테이블에 따라 달라도 사용 가능 SELECT e.empno, e.ename, d.deptno, d.dname FROM emp e INNER JOIN dept d -- INNER 키워드가 default ON e.deptno = d.deptno WHERE e.sal >= 3000; USING절 사용 조인 조건 절에 컬럼 명시 가능 USING 절에서 사용되는 컬럼은 SELECT, GROUP BY, ORDER BY 절 등에 테이블 이름, ALIAS를 가질 수 없음 SELECT e.empno, e.ename, deptno, d.dname..
# ORACLE 조인 카티션곱 카티션 곱 테이블 행수 : A테이블 행 개수 * B테이블 행 개수 카티션 곱 테이블 열수 : A테이블 열 개수 + B테이블 열 개수 SELECT * FROM emp, dept ORDER BY emp.empno, dept.deptno; SELECT emp.empno, emp.ename, dept.deptno, dept.dname -- 여러 테이블을 사용할 때 컬럼 앞에 테이블명 명시 FROM emp, dept WHERE emp.deptno = dept.deptno ORDER BY emp.empno, dept.deptno; EQUI JOIN, NON-EQUI JOIN EQUI JOIN : 조건이 동등 연산자 NON-EQUI JOIN : 동등 연산자를 제외한 기타 비교 연산자 -..