DECODE 함수는 오라클 쿼리에서 가장 많이 사용하는 함수 중 하나이다. 표준 SQL 함수가 아니라서 사용을 꺼려하기도 하지만 잘 사용하면 아주 편하기 때문에 유용하다.최근에는 CASE WHEN 구문 사용을 많이 권장하기도 한다.DECODE 함수는 프로그래밍에서의
: LPAD 함수는 지정한 길이 만큼 왼쪽부터 특정문자로 채워준다.함수 : LPAD("값", "총 문자길이", "채움문자")채움문자를 지정하지 않으면 공백으로 해당 길이만큼 문자를 채운다. : RPAD 함수는 지정한 길이 만큼 오른쪽부터 특정문자로 채워준다.함수
: SUBSTR 함수는 문자단위로 시작위치와 자를 길이를 지정하여 문자열을 자른다.함수 : SUBSTR("문자열", "시작위치", "길이"): SUBSTRB 함수는 바이트 단위로 문자열을 자를때 사용한다. 한글 같은 경우 문자단위로 자를때 깨지는 경우가 있다. 이럴
sql 구문 중 where절에 column과 비교되는 값이 상수값으로 직접 선언된 경우의 변수 재사용이 되지 않고 다시 PARSING을 하게 되므로 DATABASE에 부하를 주게됨.예) SELECT \* FROM TABLE01 WHERE COL01 = "TEST";sq
문자함수SUBSTR : 문자열 일부 추출. SUBSTR(문자열, 시작위치, 추출길이). 이 때 시작위치가 1이면 첫번째 글자LPAD : 데이터와 자리수 지정한 후 데이터 길이가 지정한 자리수보다 작을 경우 나머지 공간을 채움. 빈공간을 왼쪽에 채움RPAD : 빈공간을
GROUP BY절에 지정할 수 있는 특수함수그룹화 데이터의 합계GROUP BY ROLLUP그룹화 데이터의 합계지정한 모든 열에서 가능한 조합의 결과를 모두 출력GROUP BY CUBE같은 수준의 그룹화 열이 여러개일때 각 열별 그룹화를 통해 결과값을 출력하는데 사용PI
아우터 조인(outer join) : 한쪽이 null이어도 출력JOIN ON 조인조건세개 이상의 테이블 조인하기JOIN A.col = B.colAND B.col = C.col
서브쿼리: sql문을 실행하는데 필요한 데이터를 추가로 조회하기 위해Sql문 내부에서 사용하는 select문.즉 sql문 속 sql문.SELECTFROMWHERE ( select from where --> 서브쿼리 )IN : 하나라도 일치하는게 있으면ANY, SOME
테이블 새로 생성할 때 기존 테이블과 구조만 똑같이 만들기CREATE TABLE NEW AS SELECT \* FROM OLD WHERE 1=1;(WHERE절 없으면 데이터까지 복사)테이블에 NULL 입력하기작은따옴표 보단 명시적으로 NULL 단어를 정확하게 입력하는
트랜잭션 : 작업 최소 수행 단위. 어떤 기능 한가지를 수행하는 sql덩어리하나의 트랜잭션 내 여러 명령어를 한 번에 수행하여 작업을 완료하거나 아예 수행하지 않음.(모든 작업 취소)중요한 이유: 만약 a계좌에서 b계좌로 돈을 이체하는 경우 a계좌, b계좌 모두 잔액
오라클에서 세션: 데이터베이스 접속 시작~종료까지 기간.세션이 여러개다 = 오라클 데이터베이스에 접속하여 사용중인 연결이 여러개다.일관성데이터베이스는 여러곳에서 동시에 접근하여 데이터를 관리, 사용하는 것이 목적이기 때문에 대부분 수많은 세션이 동시에 연결되어있음.읽기
데이터 조작어(select insert update delete)와 달리데이터 정의어는 수행하는대로 바로 반영. 자동 커밋데이터 정의어 : CREATE, ALTER, DROP테이블에 행 추가 : insert테이블에 열 추가 : alter table add열 이름 변경
오라클 데이터베이스 테이블 = 사용자테이블 + 데이터사전사용자테이블 : 관리할 데이터를 저장할 테이블데이터 사전 : 데이터베이스를 구성하고 운영하는데 필요한 정보를 저장하는 특수한 테이블. 데이터베이스가 생성될 때 자동으로 만들어짐.
데이터 검색 성능의 향상을 위해 테이블 열에 사용하는 객체.테이블의 특정 열 데이터의 주소를 책 페이저처럼 목록으로 만들어 놓은 것인덱스 생성이 항상 좋은 결과로 이어지는 것은 아님.정확한 데이터 분석에 기반을 두지 않은 인덱스의 무분별한 생성은 오히려 성능을 떨어뜨리
가상테이블. FROM절에 사용하면 특정 테이블을 조회하는 것과 같은 효과를 얻을 수 있음.뷰와 서브쿼리 비교한 후 굳이 쓸 필요 없지 않나 라는 생각이 들 수 있지만 다음 두가지 목적을 위해 주로 사용한다.뷰 사용 목적편리성 : SELECT문의 복잡도를 완화하기 위해보
SQL만으로는 구현이 어렵거나 구현 불가능한 작업을 수행하기 위해 오라클에서 제공하는 프로그래밍 언어. DECLARE 선언부. 실행에 사용될 변수, 상수, 커서 등을 선언BEGIN 실행부. 조건문, 반복문, SELECT, DML, 함수 등을 정의EXCEPTION 예외
IF-THEN : 특정 조건을 만족하는 경우 작업 수행IF-THEN-ELSE : 특정 조건 만족하는 경우와 반대 경우에 각각 지정한 작업 수행IF-THEN-ELSEIF : 여러 조건에 따라 각각 지정한 작업 수행ex.ex.ex.
예외처리 : PL/SQL 실행 중 예외가 발생했을 때 프로그램이 비정상 종료 되는 것을 막기 위해 특정 명령어를 PL/SQL문 안에 작성EXCEPTION영역에 필요 코드를 작성.이렇게 예외 처리부를 작성하였기 때문에 PL/SQL문을 실행할 때 오류가 발생해도 프로그램이
블록 : 작성한 내용을 단 한번 실행하는데 사용. 오라클에 저장되지 않기 때문에 한번 실행한 뒤에 다시 실행하려면 블록을 다시 작성하여 실행해야 한다.그런데 필요할 때마다 여러번 사용해야 하는 경우 PL/SQL프로그램을 오라클에 저장해두면 편리. 이를 저장 서브프로그램
저장 프로시저 : 특정 처리 작업을 수행하는데 사용하는 저장 서브프로그램. 용도에 따라 파라미터를 사용할 수도 사용하지 않을 수도 있다.\--> 별다른 입력 데이터 필요없을 경우 파라미터 없이 프로시저 사용.CREATE OR REPLACE : 저장한 프로시저 이름을 가
: SQL문에서도 사용 가능. 함수는 RETURN절과 RETURN문을 통해 반드시 하나의 값을 반환해야한다.: 업무나 기능 면에서 연관성이 높은 프로시저, 함수 등 여러개의 PL/SQL 서브 프로그램을 하나의 논리 그룹으로 묶어 통합, 관리하는데 사용하는 객체.: 오라