Pichu Pokeball
본문 바로가기

DataBase+SQL17

PL/SQL 자주 사용하는 명령을 PL/SQL 구문을 이용하여 데이터베이스에 저장하고 필요할 때 호출하여 사용하는 방법 연습 1)PL/SQL: Oracle's Procedural Language extension to SQL의 약자 SQL문장에서 변수 정의, 조건처리(IF), 반복처리(LOOP, WHILE, FOR)등을 지원 DB에 직접 탑재되어 컴파일, 실행 => 성능 우수, DB 관련 처리를 할 때 수많은 기능을 제공, 일반 프로그래밍 언어적인 요소를 거의 다 가지고 있어서 실무에서 요구되는 절차적인 데이터 처리를 다 할 수 있음. 특히 SQL과 연동되어 막강할 기능 구현 가능 PL/SQL은 SQL에 없는 기능 제공 변수 선언 가능 비교 처리 가능 반복 처리 가능 PL/SQL 기본 단위: 블록(BLOCK)=> 선.. 2023. 6. 26.
MVIEW, 시퀀스 View는 원본 테이블에 가서 데이터를 가져올 후 사용자에게 반환하기 때문에 부하가 많이 발생. (요청할 때 마다 접근) 11) Materialized View (MVIEW): 구체화된 뷰 Mview는 사용자가 요청하는 데이터를 가지고 있다가 요청이 들어오면 즉시 사용자에게 보내는 형태로 처리. View는 데이터가 없기 때문에 실체가 없는 테이블이라고 하며 Mview는 데이터를 가지고 있기 때문에 "실체화된 View"라고 한다. => 사용자가 많고 데이터가 많을수록 Mview를 사용하는 것이 더 효율적이고 성능이 좋다. Mview를 사용하기 위해 QUERY REWRITE라는 권한과 CREATE MATERIALIZED VIEW 권한이 필요 GRANT QUERY REWRITE TO HR; GRANT CREA.. 2023. 6. 23.
뷰(VIEW) 1)뷰의 개념 물리적인 테이블을 근거한 논리적인 가상 테이블(실제로 데이터를 가지고 있는 테이블X) =>데이터 저장 공간이 없다. 단지 쿼리문을 저장하고 있는 객체 기본 테이블에서 파생된 객체로 기본 테이블에 대한 하나의 쿼리문 실제 테이블에 저장된 데이터를 뷰를 통해서 볼 수 있도록 한다. --ORA-01031: 권한이 불충분합니다 GRANT CREATE VIEW TO hr; --PDB_SYS로 접속해서 권한 부여, GRANT=DCL --Grant을(를) 성공했습니다. --CREATE를 주면 생성뿐만 아니라 조회하고, 삭제할 수 있는 권한도 부여 --각 각 주고 싶으면 SELECT 이용 --작업 끝나면 PDB_SYS 접속 해제(최고 권한자 접속 해제) --PDB(데이터베이스)_SYS(사용자이름) 뷰의 .. 2023. 6. 22.
서브 쿼리 SQL 가로 목록으로 표현 SELECT COUNT(DECODE(DEPARTMENT_ID, 10, 1)) "10번 부서 인원 수", --부서번호 기준 DECODE는 범위값X, 일치하는 값 대상, 값이 같으면 1을 준다고 표현했음 COUNT(DECODE(DEPARTMENT_ID, 20, 1)) "20번 부서 인원 수", --1명씩 COUNT, 2줄 써도 같은 의미,1의 개수 COUNTING COUNT(DECODE(DEPARTMENT_ID, 30, 1)) "30번 부서 인원 수", COUNT(DECODE(DEPARTMENT_ID, 40, 1)) "40번 부서 인원 수", COUNT(DECODE(DEPARTMENT_ID, 50, 1)) "50번 부서 인원 수", COUNT(DECODE(DEPARTMENT_ID,.. 2023. 6. 21.
그룹 함수 날짜 형태 (YYYY.MM.DD)로 구하기 TO_CHAR(T_DATE, 'YYYY.MM.DD') SELECT TO_CHAR(SUM(SALARY), '$999,999') AS TOTAL --999999는 자릿수 FROM EMPLOYEES; TO_CHAR: 변환함수, 날짜, 숫자-> 문자변화 문자->문자 X SUM 그룹의 누적 합계를 반환 AVG 그룹의 평균을 반환 MAX 그룹의 최댓값을 반환 MIN 그룹의 최솟값을 반환 COUNT 그룹의 총 갯수를 반환 SELECT TO_CHAR(SUM(SALARY), '$999,999') AS TOTAL --999999는 자릿수 FROM EMPLOYEES; SELECT AVG(SALARY) FROM EMPLOYEES; SELECT ROUND(AVG(SALARY),1) F.. 2023. 6. 20.
JOIN(조인) JOIN: 한 개 이상의 테이블에서 데이터를 조회하기 위해서 사용되는 것. 두 개 이상의 테이블을 결합해야만 원하는 결과를 얻을 수 있을 때 Equi join 동일 칼럼을 기준으로 조인(inner join simple join) NinEqui Join 동일 칼럼이 없이 다른 조건을 사용하여 조인 Outer Join 조인 조건에 만족하지 않는 행도 나타낸다. Self Join 한 테이블 내에서 조인// 마치 서로 다른 테이블인 것 처럼 WHERE절에 명시하는 조건이 FROM절에 명시한 여러 TABLE을 묶는 JOIN조건이 된다. 이러한 JOIN조건은 반도시 묶어야 할 TABLE수보다 하나가 적다. 즉, TABLE 수가 N 개라면 JOIN조건은 N-1이 된다. 1.CARTESIAN PRODUCT OR CRO.. 2023. 6. 19.