본문 바로가기

스터디35

[Oracle/오라클] MERGE - 조건에 따른 UPDATE / INSERT MERGE - 조건에 따라 갱신(UPDATE)하거나 입력(INSESRT)을 수행 문법설명 출처 - https://goddaehee.tistory.com/70 [갓대희의 작은공간] MERGE INTO table_name alias -- (실제 데이터를 INSERT 또는 UPDATE할 테이블) USING (table | view | subquery) alias -- 실제 데이터를 조회할 대상 테이블(뷰, 서브쿼리) -- 대상 테이블이 없는 경우 DUAL 테이블 사용 ON (join condition) -- 조건절 (Where절) 이 조건에 의해 아래 MATCHED / NOT MATCHED 로 분기 WHEN MATCHED THEN -- ON 조건에 해당하는 데이터(레코드)가 존재한다면 UPDATE SET [c.. 2021. 4. 24.
[Oracle/ 오라클] 서브쿼리를 이용한 INSERT, UPDATE, DELETE 서브쿼리를 이용한 INSERT 다른 테이블 SELECT하여 INSERT 방법 - 열개수가 일치해야 함 INSERT 대상 테이블의 칼럼명과, SELECT 테이블 칼럼명이 달라도 가능 INSERT INTO SAWON SELECT EMPNO, ENAME, SAL*2 FROM EMP WHERE DEPTNO =10; 서브쿼리를 이용한 UPDATE UPDATE emp SET JOB = (SELECT JOB FROM emp WHERE empno=7499), deptno = (SELECT deptno FROM dept WHERE dname = 'SALES') WHERE empno in (7369, 7782, 7788); 서브쿼리를 이용한 DELETE DELETE emp WHERE deptno = (SELECT dept.. 2021. 4. 24.
[Oracle] 오라클 스칼라 서브쿼리, 상호연관 서브쿼리, EXISTS 스칼라 서브쿼리 - 반환값이 단일 값이 되는 서브쿼리 SELECT, ORDER BY 위치에는 스칼라 서브쿼리만 사용이 가능함 SELECT 절에서 서브 SELECT로 조회 할경우 컬럼 1개, 로우1개 만 나와야 한다 상호 연관 서브쿼리 - 메인(바깥쪽) 쿼리의 한 ROW에 대해ㅓ 서브쿼리가 한번씩 실행 - 테이블에서 행을 먼저 읽고 각 행의 값을 서브쿼리 실행 시용 - 서브쿼리에서 메인 쿼리의 컬럼명을 사용할 수 있으나, 메인쿼리에서는 서브쿼리의 컬럼명을 사용할 수 없음 1) DEPTNO에 맞는 DNAME A1으로 조회 하고자 하는 경우 SELECT ENAME, SAL, DEPTNO, (SELECT DNAME FROM DEPT WHERE DEPTNO=A.DEPTNO) A1 FROM EMP A; 2) 부서별.. 2021. 4. 21.
[Oracle/오라클] 서브쿼리 - 서브쿼리를 괄호로 묶어야 함 - 일반적인 서브쿼리(Top-N 분석 제외) 에서는 ORDER BY절 X - FROM 절에서만 ORDER BY 가능 - 단일 비교 연산자(=, >, (SELECT sal FROM emp WHERE ename = 'JONES'); 2) K02팀 평균 키보다 큰 선수는 몇 명인가? select count.. 2021. 4. 18.