본문 바로가기

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..
26회 SQLD/SQL개발자 시험 후기, 공부법 제 26회 SQL개발자 자격검정 후기 오늘 1시에 동국대에서 나름대로 블로그에 개념 정리하면서 쿼리를 남겨두고 있는 와중에 SQLD 시험을 보고 왔습니다.아직 결과가 나온 것은 아니기에 후기 간단히 요약하겠습니다.1. 문제 난이도난이도는 생각보다 평이한 편이었습니다. 물론 객관식만.다른 후기봤을 때 생각보다 엄청 어렵게 나와서 열심히 공부해야 한다고 적혀있었는데 그 정도까진 아니었습니다.몇몇 문제는 까다로웠지만 대부분 평이한 수준? 문제가 길어도 쫄지않고 그냥 읽어보면 답이 보이는(?) 수준이었습니다. ( 저는 주관식 다틀렸습니다. 시험은 떨어졌을 수도 있는데 그래도 쉽게 느껴졌습니다.) 2. 아쉬운 점오탈자가 너어어어어무 많았습니다.공식수험서(?)와 문제집에도 그렇게 많은 오타들이 있다고 하던데 시험지..
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 활용 - 집합 연산자 집합 연산자 두 개 이상의 테이블을 조인을 쓰지 않고 연관된 데이터를 조회하는 방법.2 개이상의 쿼리 결과를 하나의 결과로 만들어 줌.조건 : select절의 컬럼 수가 동일하고 select절의 동일 위치에 존재하는 컬럼이 상호 호환 가능* 반드시 동일 타입일 필요는 없음1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556571. 집합 연산자의 종류UNION : 여러 개의 SQL문의 결과를 합집합으로 출력. (중복된 행은 하나로 만듦)UNION ALL : 합집합으로 만들면서 중복된 행도 그대로 출력.INTERSECT : 여러 개의 SQL문의 결과에 대한 교집합. (중복된 행..