본문 바로가기

Develop/DATABASE83

오라클)조인(join) - 조인 범위(이너 조인, 등가 조인) SAMPLE DATA DROP TABLE t1 PURGE; DROP TABLE t2 PURGE; CREATE TABLE t1(c1 NUMBER, c2 NUMBER, c3 NUMBER); CREATE TABLE t2(c1 NUMBER, c2 NUMBER, c3 NUMBER); INSERT INTO t1 VALUES(1,1,1); INSERT INTO t1 VALUES(2,2,null); INSERT INTO t1 VALUES(3,3,null); INSERT INTO t1 VALUES(4,null,null); INSERT INTO t2 VALUES(1,1,1); INSERT INTO t2 VALUES(2,2,null); INSERT INTO t2 VALUES(3,null,3); INSERT INTO t2 V.. 2022. 12. 29.
오라클)조인(join) - 조인 조건(카티션 곱, 등가 조인, 비등가 조인) 조인(join) 하나의 쿼리로 다수의 테이블을 조회한다. 조인은 열 값으로 테이블 행을 연결한다. 하나의 행은 하나 이상의 행과 연결될 수 있다. 일반적으로 PK(기본 키)와 FK(외래 키)로 조인하는 것이 일반적이지만, 관계를 가지지 않는 테이블을 조인하는것도 가능. dept 테이블에서 deptno는 PK(기본 키) emp 테이블에 deptno는 FK(외래 키) SELECT a.deptno, a.dname, b.empno, b.ename FROM dept a, emp b WHERE b.deptno = a.deptno ORDER BY 1, 3; 조인 조건 조인할 두 테이블의 열이 기술된 조건. 열과 열을 평가하며 TRUE인 행을 반환 SAMPLE DATA DROP TABLE t1 PURGE; DROP T.. 2022. 12. 28.
오라클)HAVING 절 HAVING 절을 사용하면 조회할 행 그룹을 선택할 수 있으며, WHERE 절과 유사하게 동작한다. GROUP BY 절 없이도 사용가능하다. SELECT SUM(sal) AS sal FROM emp WHERE SUM(sal) > 25000; WHERE 절은 GROUP BY 절보다 먼저 수행되기 때문에 집계 함수를 사용하면 에러 발생 SELECT SUM(sal) AS sal FROM emp HAVING SUM(sal) > 25000; WHERE 절 대신에 HAVING을 사용해서 조회 가능. HAVING 절은 SELECT 절보다 먼저 수행되기 때문에 SELECT 절에 기술되지 않은 집계 함수를 사용해도 에러가 발생하지 않는다. SELECT deptno, SUM(sal) AS sal FROM emp GROUP.. 2022. 12. 20.
오라클)GROUP BY 절 - ROLLUP, CUBE, GROUPING SETS, 조합 열, 연결 그룹, GROUPING 함수, GROUPING_ID 함수 ROLLUP - ROLLUP (expression_list [, expression_list] ...) expression_list = {expr [, expr] ... | ([expr [, expr]]...} ROLLUP은 지정한 표현식의 계층별 소계와 총계를 집계. ROLLUP(a) (a), () ROLLUP(a, b) (a, b), (a), () ROLLUP(a, b, c) (a, b, c), (a, b), (a), () expr을 뒤쪽부터 하나씩 제거하는 방식으로 결과에서 (a, b, c)는 a, b, c의 소계를 나타내며 ()는 총계를 의미. deptno별 소계와 총계를 집계 SELECT deptno, COUNT(*) AS c1 FROM emp WHERE sal > 2000 GROUP BY RO.. 2022. 12. 15.