본문 바로가기

RDB

(14)
SQL 활용 - 절차형 SQL 절차형 SQL 일반 개발 언어처럼 절차 지향적인 프로그램이 가능하도록 DBMS 벤더별로 제공함.(PL/SQL , T-SQL등)12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788891. 프로시져CREATE OR REPLACE PROCEDURE p_DEPT_insert( v_DEPTNO in number, v_dname in varchar2, v_loc in varchar2, v_result out varchar2)IScnt number := 0;BEGIN SEL..
SQL 활용 - DCL DCL (DATA CONTROL LANGUAGE) 유저를 생성하고 권한을 제어할 수 있는 명령어데이터의 보호와 보안을 위한 언어1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768691. 유저 생성, 로그인등 권한 주기CONN SCOTT/TIGER // 로그인CREATE USER PJS IDENTIFIED BY KOREA7;// 오류. 권한 불충분 'GRANT'GRANT CREATE USER TO SCOTT; // 유저 생성권한을 SCOTT에게 줌CONN SCOTT/TIGERCREATE USER PJS IDENTIFIED BY KO..
SQL 활용 - 윈도우 함수 윈도우 함수 기존 데이터베이스는 컬럼과 컬럼간의 연산, 비교, 조인 집합에 대한 집계 등은 쉬웠으나,행과 행간의 관계를 정의하거나 비교, 연산하는 것을 하나의 SQL문으로 처리하는 건 어려웠다.그래서 윈도우 함수가 등장해서 부분적으로 해결이 되었다.select window_function (arguments) OVER ([partition by 컬럼] [order by 절] [windowing절])from 테이블명 ;* 윈도우 함수에는 'over' 가 반드시 들어감123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869701. 그릅..
SQL 활용 - 그룹 함수 (ROLLUP, CUBE) 그룹 함수 SQL표준 함수 분류1. AGGREGATE FUNCTION : count , sum , avg , max , min 등 각종 집계 함수2. GROUP FUNCTION : 결산 개념의 업무, 소계, 중계, 합계, 총 합계등 보고서를 만드는 기능3. WINDOW FUNCTION : 분석함수나 순위함수 같은 데이터 웨어하우스에서 발전한 기능12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364651. ROLLUP 함수그룹핑된 컬럼의 소계를 생성하기 위해 사용.그룹핑된 컬럼의 수가 n 이면 소계는 N+1 레벨이 생성 SELECT DNAME, J..
SQL 활용 - 서브 쿼리 서브쿼리 서브쿼리란 하나의 SQL문 안에 포함되어 있는 또 다른 SQL문.서브쿼리를 쓰는 이유는 알려지지 않은 기준을 이용한 검색을 하기 위해서이다.* 서브쿼리는 메인쿼리의 컬럼을 모두 사용할 수 있지만 메인쿼리는 서브쿼리의 컬럼사용 못함.서브쿼리를 사용해야할 때 조인을 사용하는 실수를 할 수 있다. * 서브쿼리쓸 때 주의 사항반드시 괄호로 감싸서 사용할 것.단일행 또는 복수행 비교연산자 사용 가능. 단, 단일행 비교연산자는 서브쿼리의 결과가 반드시 1건 이하.서브쿼리에서 ORDER BY 사용 불가. 메인쿼리의 마지막 문장에 위치해야 함.1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515..
SQL 활용 - 계층형 질의 계층형 질의 테이블에 계층형 테이터가 있을 때 사용.게층형 데이터는 동일 테이블에 계층적으로 상위 하위 데이터가 포함된 데이터를 말함. 사원 관리자 A B A C A D C 1234567891011121314151617181920212223242526SELECT LEVEL, LPAD(' ', 4*(LEVEL-1) || EMPNO 사원, MGR 관리자, CONNECT_BY_ISLEAF ISLEAFFROM EMPSTART WITH MGR IS NULLCONNECT BY PRIOR EMPNO = MGR; //계층형 질의에서 사용되는 가상 컬럼//LEVEL : 루트 = 1, 그 하위 데이터면 2, 리프데이터까지 1씩 증가.//CONNECT_BY_ISLEAF : 전개 과정에서 해당 데이터가 리프데이터면 1, 그렇..
SQL 활용 - 표준 조인 표준 조인(Standard join)다양한 DBMS 벤더에서 자기들만의 문법을 쓰다가 표준을 정의해서 같이 쓰는중이다.123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384851. INNER JOIN: join 조건에서 동일한 값이 있는 행만 반환한다.// inner join 은 그동안 where 절에서 사용하던 join조건을 from 절에서 사용하겠다는 뜻이다. SELECT EMP.DEPTNO, EMPNO, ENAME, DNAMEFROM EMP INNER JOIN DEPTON..
SQL 기본 - join JOIN ***** 중요 *****두 개 이상의 테이블 들을 연결하여 데이터를 출력하는 것. 데이터 중복을 최소화하기 위해 정규화를 거치게 되는데 이로 인해 정보가 여러 테이블로 나뉘어 있다.그런 상황에서 적절하게 테이블을 결합하여 원하는 정보를 출력하는 것이 개발자에게 중요하다.123456789101112131415161718192021222324252627282930313233343536373839404142* 일단 알고 시작할 것.두 개 이상의 테이블에서 JOIN 할 경우 앞에서 두개의 테이블씩 조인한다. A JOIN B JOIN C JOIN D 은(((A JOIN B) JOIN C) JOIN D) 이런 식으로 순차적 조인을 하게 된다. 1. EQUI JOIN// 등가 JOIN, 두 개의 테이블 간..