목록oracle (4)
매일 매일 미라클 코딩
NULL관련 함수 NVL(입력, 결과): 입력이 null인 경우 결과값 지정 NULLLIF(값1, 값2) : 값1과 값 2가 동일할 경우 NULL 반환 COALESCE : 각 Row에서 첫번째 NULL이 아닌 값을 반환(NVL 과 비슷 ) SELECT 문장 실행 순서 1) FROM : 발췌 대상 테이블을 참조한다 2) WHERE : 발췌 대산 데이터가 아닌 것은 제거한다 3) GROUP BY : 행들을 소그룹화 한다 4) HAVING : 그룹핑된 값의 조건에 맞는 것만을 출력한다 5) SELECT : 데이터 값을 출력 / 계산한다 6) ORDER BY : 데이터를 정렬한다 JOIN - 일반적으로 join 은 PK와 PK 값의 연관성에 의해 성립된다. - DBMS 옵티마이저는 FROM 절에 나열된 테이블은..
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 조건 - 제약조건은 복사되지 않는다 - 데이터까지 복사됨