Programming/Oracle

Programming/Oracle

[Oracle] SELECT문: WITH절

💡WITH절 WITH ] SELECT column_list FROM table_name [WHERE search_condition] [GROUP BY group_by_expression] [HAVING search_condition] [ORDER BY order_ex with절은 인라인 뷰(from절의 서브 쿼리)에 이름을 붙이는 기술이다. from절의 서브 쿼리는 1회용 테이블이므로 이름 없는 테이블이고, from 테이블은 N회용 테이블이므로 이름 있는 테이블이다 with절은 전자의 from절의 서브 쿼리에 대한 작업을 한다. WITH절의 사용 with 임시테이블명 as (서브 쿼리) select문; WITH절로 변환할 수 있는 쿼리 SELECT * FROM (SELECT name, buseo, jik..

Programming/Oracle

[Oracle] 순위 함수

💡순위 함수 순위 함수는 rownum기반으로 만들어진 함수이다. [Oracle] 의사 컬럼 (Pseudo Column) 💡의사 컬럼 의사 컬럼(Pseudo Column)은 실제 컬럼이 아닌데 컬럼처럼 행동하는 객체이다. 객체의 종류 SELECT name, buseo,--컬럼(속성) 100,--상수 substr(name, 2),--함수 rownum--의사컬럼 FROM tblInsa; 컬럼(속성 isaac-christian.tistory.com rownum에 대해서는 위 글을 참고하도록 하자. 💡rank() over(order by 컬럼명 [asc|desc]) 급여순으로 가져오는 쿼리를 작성해보도록 하자. rownum을 이용하는 방법 --rownum SELECT name, buseo, basicpay, ro..

Programming/Oracle

[Oracle] 계층형 쿼리 (Hierarchical Query)

💡계층형 쿼리 계층형 쿼리(Hierarchical Query)는 자기 참조를 하는 테이블에서 사용하며, 레코드의 관계가 서로 간에 상하 수직 구조인 경우에 사용한다. 계층형 쿼리는 오라클 전용 쿼리이다. 자바에서는 계층형 쿼리를 트리 구조로 이해할 수 있다. 계층 구조 SELECT * FROM tblSelf; 홍사장 - 김부장 -박과장 -최대리 -정사원 - 이부장 -하과장 -황대리 -신과장 -허사원 이러한 테이블을 보고 레코드의 관계가 서로 상하 수직 구조라고 한다. 이런 경우에만 계층형 쿼리를 사용할 수 있다. 부품과 부모 부품의 정보를 동시에 가져오는 작업을 해보도록 하자. self join 혹은 상관 서브 쿼리 사용 SELECT c1.name AS 부품명, c2.name AS 부모부품명 FROM t..

Programming/Oracle

[Oracle] 트랜잭션 (Transaction)

💡트랜잭션 트랜잭션(Transaction)은 데이터를 조작하는 업무의 물리적(시간적) 단위(행동의 범위)를 말한다. 1개 이상의 명령어를 묶어 놓은 단위이다. 트랜잭션이 중요한 이유는 다른 명령어는 실수를 해도 그 영향이 크지 않은데, 여기에 속한 명령어들은 실수했을 때 손해가 크기 때문이다. 트랜잭션 관련 명령어, DCL(TCL) 1. COMMIT 2. ROLLBACK 3. SAVEPOINT 💡트랜잭션이란? 내가 역삼은행에 200억이 있는데, 부산에서 건물을 사려고 한다고 가정하자. 그러면 다음과 같은 일련의 과정이 실행될 것이다. 부산은행에 방문한다. 부산은행에 돈을 인출해 달라고 신청한다. 부산은행에서 역삼은행에 이 사람이 건물을 살 200억이 있는지 확인을 요청한다. 역삼은행에서 200억을 인출하..

Programming/Oracle

[Oracle] 의사 컬럼 (Pseudo Column)

💡의사 컬럼 의사 컬럼(Pseudo Column)은 실제 컬럼이 아닌데 컬럼처럼 행동하는 객체이다. 객체의 종류 SELECT name, buseo,--1. 컬럼(속성) 100,--2. 상수 substr(name, 2),--3. 함수 rownum--4. 의사컬럼 FROM tblInsa; 1. 컬럼(속성)은 읽기(Output) 전용으로, 객체(레코드)의 특성에 따라 다른 값을 가진다. 2. 상수는 Output 전용으로, 모든 레코드가 동일한 값을 가지므로 아주 특별한 경우가 아니고서는 사용하지 않는다. 모두 같은 값을 가지고 있는 컬럼을 만드는 경우가 거의 없기 때문이다. 3. 함수는 쓰기와 읽기(Input/Output)가 모두 되며, 객체의 특성에 따라 다른 값을 가진다. 대부분 함수의 인자값은 조작이 가..

Programming/Oracle

[Oracle] 테이블 수정 Alter Table문

💡테이블 수정하기 테이블 정의 수정 > 스키마 수정 > 컬럼 수정 > 컬럼명 OR 자료형 (길이) OR 제약사항 등 수정 테이블을 수정한다는 건 실제로는 컬럼명, 자료형, 제약사항 등의 것들을 수정하는 걸 의미한다. 테이블을 수정하는 상황은 되도록 피하도록 한다. 테이블을 수정하는 상황을 만들기 이전에 설계를 완벽하게 해야 한다.🏗️ [Oracle] SQL 키워드, 식별자, 자료형 💡SQL 키워드와 식별자 대소문자 구분 -- 대소문자 구분 X select * from tabs; SELECT * FROM tabs; -- 대소문자 구분 O select * from tabs where table_name = 'JOBS'; select * from tabs where table_name = 'jobs'; SQL..

Programming/Oracle

[Oracle] 유니온 (Union)

💡합집합 (Union) 유니온(Union)은 합집합으로서 테이블을 더한 결과를 출력한다. 스키마가 동일한 결과셋끼리만 가능하다. 유니온의 사용 SELECT * FROM tblMen UNION SELECT * FROM tblWomen; 유니온은 테이블을 더한다고 했다. 따라서 두 테이블을 더한 데이터 20개가 출력된다. 언제 유니온을 사용할까? SELECT * FROM 영업부게시판; SELECT * FROM 총무부게시판; SELECT * FROM 개발부게시판; 각 부서의 근황을 한 번에 알려고 할 때와 같이 다른 데에 있는 테이블들을 합쳐야 하는 일이 생긴다. 사장님이 모든 게시판의 글을 한 번에 보게 해달라고 요청하실 때 바로 유니온을 사용하면 된다. 유니온의 조건 같은 테이블의 구조 --ORA-0178..

Programming/Oracle

[Oracle] 뷰와 뷰 사용 문서 (View)

💡뷰 뷰(View)는 데이터베이스 객체(테이블, 제약 사항, 뷰, 시퀀스) 중 하나이다. 가상 테이블, 뷰 테이블 등으로 부른다. 테이블이라고 부르는 이유는 실제로 뷰를 테이블처럼 사용하기 때문이다. 🔹정의: 쿼리(SQL)를 저장하는 객체 🔹목적: 권한 통제 뷰의 사용 뷰 구문 create [or replace] view 뷰이름 as select문; 뷰 구문에서 [or replace]를 작성하지 않아도 된다. 하지만 작성하는 게 더 편하기 때문에 보편적으로 함께 작성하는 편이다. 뷰 오브젝트 생성 CREATE OR REPLACE VIEW vwInsa AS SELECT * FROM tblInsa; SELECT * FROM vwInsa; --tblInsa 테이블의 복사본 뷰 오브젝트 vwInsa를 하나 생성..

Isaac-Christian
'Programming/Oracle' 카테고리의 글 목록 (3 Page)