목록프로그래밍/SQL (52)
코딩하는 문과생
데이터 정의어(DDL) : 데이터를 보관하고 관리하기 위해 제공되는 여러 객체의 생성, 변경, 삭제 관련 기능 수행 실행시 자동 COMMIT되므로 ROLLBACK을 통한 실행 취소가 불가 cf) DML은 COMMIT or ROLLBACK 작업이 필요 -CREATE CREATE TABLE EMP_DDL( EMPNO NUMBER(4), ENAME VARCHAR2(10), JOB VARCHAR2(9), MGR NUMBER(4), ... ); --기존 테이블 열 구조와 데이터를 복사하여 새 테이블 생성 CREATE TABLE DEPT_DDL AS SELECT * FROM DEPT; --기존 테이블 열 구조와 일부 데이터를 복사하여 새 테이블 생성 CREATE TABLE DEPT_DDL AS SELECT * FR..
데이터 조작어(DML)를 사용해 데이터에 미치는 영향은 트랜잭션과 세션 안에서 최종적으로 실행 취소 또는 반영이 결정된다. 트랜잭션 : 더이상 분할할 수 없는 최소 수행 단위 어떤 기능 한가지를 수행하는 'SQL문 덩어리' ALL OR NOTHING(작업 전체를 완료하거나 하지 않는다. 부분적 실행X) DB에 접속하는 동시에 시작 TCL :ALL OR NOTHING 중 하나의 상태로 유도하는 명령어. 즉, 데이터 조작(DML)을 영구반영 또는 작업을 전체 취소한다. -사전작업 CREATE TABLE DEPT_TCL AS SELECT * FROM DEPT; INSERT INTO DEPT_TCL VALUES(50, 'DATABASE', 'SEOUL'); UPDATE DEPT_TCL SET LOC='BUSAN..
데이터 조작어 :SELECT문으로 조회한 테이블에 데이터를 추가, 변경, 삭제할 때 사용하는 명령어 -사전 작업 --1: INSERT --DEPT 테이블과 동일한 테이블 생성 CREATE TABLE DEPT_TEMP AS SELECT * FROM DEPT; SELECT * FROM DEPT_TEMP; --2: INSERT CREATE TABLE EMP_TEMP AS SELECT * FROM EMP WHERE 11; -- 11 조건을 이용해 데이터를 제외하고 열 구조만 가지는 테이블 생성이 가능하다. --3: UPDATE CREATE TABLE DEPT_TEMP2 AS SELECT * FROM DEPT; --4: DELETE CREATE TABLE EMP_TEMP2 AS SELECT * FROM EMP; ..
서브쿼리 : SELECT문의 결과를 WHERE절에서 사용하고 싶을 때 사용 SELECT * FROM EMP WHERE SAL > (SELECT SAL FROM EMP WHERE ENAME = 'JONES'); -단일행 서브쿼리 SELECT E.EMPNO, E.ENAME, E.JOB, E.SAL, D.DEPTNO, D.DNAME, D.LOC FROM EMP E, DEPT D WHERE E.DEPTNO = D.DEPTNO AND E.DEPTNO = 20 AND E.SAL > (SELECT AVG(SAL) FROM EMP); -다중행 서브쿼리 SELECT * FROM EMP WHERE SAL IN (SELECT MAX(SAL) FROM EMP GROUP BY DEPTNO); IN ANY, SOME: 메인쿼리와..