목록SQL (9)
매일 매일 미라클 코딩
DECODE: if else 문과 같은 기능을 수행하는 함수 ex) DECODE( 컬럼명, '조건1', '결과1', '조건2', '결과2', .... , 해당조건 없을 때 결과[ELSE - 생략가능]) # decode 함수 예시 SELECT emp_cd, DECODE(edmp_cd, 'A', '사원' ,'B', '선임' ,'C', '책임' ,NULL) as emp_job FROM emp_table; CASE WHEN - CASE WHEN 조건 THEN 결과 ELSE 결과 END - 꼭 END 문으로 종료되어야하며, 조건 사이에 컴마(,) 는 들어가지 않음 - 결과에 NULL 이 들어갈 수 없음 # CASE WHEN 문 예시 SELECT emp_cd , CASE WHEN emp_cd = 'A' THEN '..
MERGE INTO 절은 대상테이블에 기준테이블의 특정 키에 해당하는 데이터가 있으면 UPDATE, 없으면 INSERT 할 수 있는 구문 → SEARCH , INSERT, UPDATE 를 하나로 묶은 기능 사용예 MERGE INTO target_table TT --대상테이블 USING ( -- 기준테이블 SELECT col1, col2, col3 FROM source_table ) ST ON ( -- 대상 테이블에서 기준테이블과 비교할 키 TT.col1 = ST.col1 ) --대상테이블에 내가 가진 키가 있을때 UPDATE WHEN MATCHED THEN ( UPDATE SET TT.col2 = ST.col2 ) -- 대상테이블에 내가 가진 키 없을 때 데이터 추가 INSERT WHEN NOT MATC..
DROP 은 테이블을 삭제, TRUNCATE 는 테이블에 저장된 데이터를 모두 삭제하는 명령 ROLLBACK 은 SELECT, INESRT, UPDATE, DELETE 에서만 가능하다. DROP (테이블삭제) - 오라클 10g 이상부터는 recyclebin 을 통해 삭제된 테이블을 복구할 수 있다고 함 SHOW RECYCLEBIN; --삭제된 테이블이 저장된 RECYCLEBIN 확인 FLASHBACK TABLE 삭제된테이블명 TO BEFORE DROP; -- RECYCLEBIN 내 삭제된 테이블을 복원하기 PURGE RECYCLEBIN; -- RECYCLEBIN 을 삭제하기 DROP 테이블명 PURGE; -- RECYCLEBIN 에 저장되지 않게 영구 삭제해버리기 TRUNCATE (저장공간 삭제) - R..
SELECT 결과를 INSERT INSERT INTO 빈테이블명 (컬럼1, 컬럼2 ... 생략가능) (SELECT * FROM 원본테이블명 WHERE 조건) - 테이블 전환시, 백업테이블의 데이터를 다시 원본테이블로 옮기는 경우 사용 - 테이블 구조가 같아야함 테이블을 복사하여 새로운 테이블 만들기(CTAS) CREATE TABLE 복제테이블명 (컬럼명1, 컬럼명2 ... 생략가능) AS SELECT 컬럼명1, 컬럼명2 FROM 원본테이블명 WHERE 조건 - 제약조건은 복사되지 않는다 - 데이터까지 복사됨