본문 바로가기
반응형

Computer Science & Engineering/Oracle10

connect by Clause connect by Clause 출처 : http://cafe.naver.com/itea11.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=236 Oracle10g부터 CONNECT BY 절에서 제공하는 CONNECT_BY_ROOT, SYS_CONNECT_BY_PATH, CONNECT_BY_ISLEAF 기능에 대해서 알아보겠습니다. SQLPLUS scott/tiger SQL> SET LINESIZE 100 SQL> SET PAGESIZE 100 SQL> COL ename FORMAT A20 ◈ 상관관계 쿼리 예제 SQL> SELECT LPAD(' ', 4*(LEVEL-1)) || ename ename, empno FROM emp START WITH job='PRESIDE.. 2022. 6. 10.
[SQL_오라클] 계층형 QUERY [SQL_오라클] 계층형 QUERY start with ~ connect by : 오라클에서만 지원 LEVEL -> 의사 칼럼, 트리 형식의 레벨 SELECT LEVEL, LPAD(' ', 4*(LEVEL-1)) || first_name || ' ' || last_name '성명' FROM EMPLOYEES START WITH manager_id IS NU CONNECT BY manager_id = PRIOR employee_id start with manager_id is null => manager_id 가 NULL인 것부터 찾는다. 이 말은 사장부터 시작한다는 말, 곧 하향식 접근 connect by manager_id = prior employee_id => employee_id를 먼저 보고 이것.. 2022. 6. 10.
데이터 베이스의 용도?? 데이터 베이스의 용도?? OLTP - On - Line Transactional Processing - 요청이 있을 때 신속히 결과를 내는 것 최소 응답 시간!! transaction!! 기간계(웹, 일반적 시스템, 인터넷 뱅킹) OLAP - On - Line Analytical Processing - 최적 처리시간이 중요(DW) ******************************************************************* OLTP (On-Line Transaction Processing) 주 컴퓨터와 통신 회선으로 접속되어 있는 복수의 사용자 단말에서 발생한 트랜잭션을 주 컴퓨터에서 처리하여 그 결과를 즉석에서 사용자 단말 측으로 되돌려 보내 주는 처리 형태. 트랜잭션이란, .. 2022. 6. 10.
[SQL_오라클] SET 연산자 [SQL_오라클] SET 연산자 *SET 연산자를 사용할 경우에는 SET 연산자로 묶이는 SELECT 문장의 열의 개수가 반드시 같아야 한다. *집합 연산에는 SORT가 자동적으로 들어간다. *JOIN이라는 것이 가로 (COLUMN) 방향으로 데이터를 붙여나간다고 하면 SET은 세로 방향 (ROW)으로 데이터를 붙여나간다. *COLUMN 단위로 비교를 하기는 하지만 ROW를 하나의 SET이라고 본다. 만일 두 개의 튜플이 있는데 데이터의 값이 다 똑같고 단 하나의 데이터만 다르다고 한다면 UNION을 할 경우 두 개의 튜플이 그대로 찍힌다. *변수 타입도 영향을 미친다. 예) varchar와 char varchar(5), char(5)로 column 타입을 정했을 때 'AA' varchar 타입과 'AA.. 2022. 6. 10.
[SQL_오라클] 서브쿼리 [SQL_오라클] 서브 쿼리 ******************************************************************** 서브 쿼리 ******************************************************************** 중복 query => query 문 안에 query가 오는 것 subquery 위치에 따른 분류 SELECT 절 안에 오는 것 : scalar subquery 제약사항 - 값이 하나만 나와야 한다. scalar subquery에서 나오는 데이터는 하나의 튜플 안, 하나의 칼럼 안에 저장되어야 한다. FROM 절 안에 오는 것 : inline view WHY - View와 같이 subquery로 나오는 데이터 셋이 FROM .. 2022. 6. 10.
[SQL_오라클] JOIN [SQL_오라클] JOIN JOIN JOIN에는 Selection과 Production 연산이 있다. Selection 연산은 row, 즉, tuple에서의 연산 Production 연산은 column에서의 연산 nested loop는 튜플 하나를 맞춰보기 위해서 튜플 하나하나에 조인되는 테이블을 한 번씩 쭉 살펴보는 것이다. merge sort loop는 정렬을 시킨 다음 매칭 시키는 것이다. hash loop는 정렬이 아니라 유니크하게 나열한 다음 매칭 시키는 것이다. 안티 조인 안티 조인이란 조인 조건에서 NOT IN 연산자를 사용하는 조인 = 의 안티라고 해서!=, 가 아니다. 이것은 단지 cartesain product의 일부이다. 예 SELECT emp.employee_id, emp.first.. 2022. 6. 10.
[SQL_오라클] GROUP QUERY [SQL_오라클] GROUP QUERY DISTINCT 만약 department_id는 유일한 값이 아니고, employee_id는 유일한 값이라고 한다면 SELECT DISTINCT department_id, employee_id라는 것은 department_id와 employee_id의 조합에 대한 값을 반환하게 된다. DISTINCT나 ALL은 바로 뒤의 하나에 대해서만 적용되는 것이 아니라 SELECT 절 전체에 적용이 된다. DISTINCT employee_id, DISTINCT first_name 이것은 오류를 발생시킨다. 결과로 나온 테이블에서 이미 employee_id로 DISTINCT를 시킨 결과에 다시 first_name으로 DISTINCT를 시킬 수 없다. DISTINCT는 중복 제거.. 2022. 6. 10.
[SQL_오라클] 1일차 숙제 [SQL_오라클] 1일 차 숙제 SQL의 장점 배우고 사용하기 쉬운 언어 절차적인 개별 단위로 처리되기보다는 데이터의 집한 단위로 처리된다. 데이터가 어떻게 처리되는지에 대한 세부적인 과정은 SQL 문장을 작성하는 사람은 신경 쓰지 않아도 된다는 장점(절차적 언어가 아닌 선언적 언어) 공인된 기관의 표준 SQL 문법이 존재, 즉, DBMS의 종류에 얽매이지 않고 사용할 수 있는 장점이 있다. 트랜잭션이란? 트랜젝션이란 하나의 일일 작업 단위라고 볼 수 있다. 예를 들어 하나의 작업을 하는 데 사용되는 query가 두 개 있다고 하자. 두 개의 쿼리가 완전히 끝나야 하나의 작업이 완료된 것이다. 만일 두 개 중의 하나가 실패한다면 작업을 완전히 끝내지 못했으므로 데이터의 무결성을 위해 트랜젝션 처리를 하는.. 2022. 6. 10.
반응형