본문 바로가기

분류 전체보기

(214)
SQL :: 절차형 SQL (프로시저, 사용자 정의 함수, 트리거) 절차형 SQL일반적인 언어형식과 같이 절차적으로 명령을 수행하는 SQL을 뜻한다. DBMS 벤더별로 PL/pgSQL, PL/SQL, T-SQL 등의 절차형 SQL이 있다. 오라클은 PL/SQL을 사용한다.  절차형 SQL은 DBMS 엔진에서 실행되고 단일 SQL 문장으로 실행하기 어려운 연속적인 작업 처리가 가능하다. 또한 로직을 캡슐화할 수 있기 때문에 반복 적인 DB 작업을 효율적으로 수행하고 소프트웨어 개발 생산성을 높인다는 장점이 있다.   1. 프로시저(Procedure)프로시저란 절차형 SQL을 활용하여 특정 기능을 수행하는 일종의 트랜잭션 언어이며 호출을 통해 실행되어 미리 저장해 놓은 SQL 작업을 수행한다. 여러 프로그램에서 호출하여 사용 가능하고, 시스템의 일일 마감 작업, 일괄 작업 ..
SQL :: EXTRACT 날짜 추출 함수 EXTRACT오라클 SQL 에서 EXTRACT 함수는 날짜 유형의 데이터로부터 날짜 정보를 분리하여 새로운 컬럼의 형태로 추출해 주는 함수이다. 테이블A의 날짜 변수가 담긴 컬럼X로부터 특정한 날짜요소를 추출하여 새로운 컬럼으로 반환하는 SQL 쿼리 문장의 형태는 다음과 같다. SELECT EXTRACT ('날짜요소' FROM 컬럼B) AS 별칭FROM 테이블A;  SQL 쿼리에서의 날짜요소 표시날짜 정보YEAR연도MONTH월DAY일HOUR시MINUTE분SECOND초  예제--현재 시간에서 날짜 추출하기select systimestamp, extract (year from systimestamp) as year, extract (month from systimestamp) as mo..
SQL :: 윈도우 함수 WINDOW FUNCTION WINDOW FUNCTION 윈도우 함수  SQL의 윈도우 함수란 행과 행 간을 비교, 연산, 정의하기 위한 함수이다. 분석함수 또는 순위함수라고 하기도 한다. 다른 함수들처럼 중첩해서 사용할 수는 없지만 서브쿼리에서는 사용가능하다.  윈도우 함수 문법윈도우 함수에는 OVER 문구가 필수로 들어간다.SELECT WINDOW_FUNCTION (ARGUMENTS) OVER([PARTITION BY 컬럼] [ORDER BY 컬럼] [WINDOWING 절])FROM 테이블명;  WINDOW FUNCTION 종류구분함수비교순위 함수RANK, DENSE_RANK, ROW_NUMBER 일반 집계 함수SUM, MAX, MIN, AVG, COUNTSQL서버에서는 OVER 절 내에서ORDER BY 지원하지 않음그룹 내 행..
SQL :: 그룹 함수 그룹 함수데이터를 그룹화하여 각 그룹에 대한 결과를 생성한다. 각 그룹에 대한 결과를 반환하며, 집계 함수를 적용하는 데 사용된다. 그룹 함수는 GROUP BY 구문과 함께 사용되어 그룹화된 데이터에 대한 집계를 수행한다.   집계 함수집계 함수는 여러 행의 데이터를 하나의 값으로 집계하여 반환한다. 일반적으로 여러 행의 값을 그룹화하여 하나의 결과를 계산한다. 집계 함수에는 SUM, AVG, COUNT, MAX, MIN 등이 있습니다.  집계 함수에 속하지 않는 그룹 함수ROLLUP- 추가적인 집계 정보를 보여주는 함수- ROLLUP 절에 명시할 수 있는 표현식에는 그룹핑 대상, SELECT 리스트에서 집계함수를 제외한 컬럼의 표현식이 올 수 있다. 명시한 표현식 수와 순서에 따라 레벨 별로 집계한 결..
SQL :: VIEW 뷰 뷰(View)뷰는 자바의 개념을 빌려 설명하자면, SELECT 문으로 생성한 객체라고도 볼 수 있다.1. 뷰는 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상 테이블이다.2. 뷰는 저장장치 내에 물리적으로 존재하지 않지만 사용자에게 있는 것처럼 간주된다.3. 뷰는 데이터 보정작업, 처리과정 시험 등 임시적인 작업을 위한 용도로 활용된다.4. 뷰는 조인문의 사용 최소화로 사용상의 편의성을 최대화 한다. 뷰(View)의 특징 1. 뷰는 기본테이블로부터 유도된 테이블이기 때문에 기본 테이블과 같은 형태의 구조를 사용하며, 조작도 기본 테이블과 거의 같다.2. 뷰는 가상 테이블이기 때문에 물리적으로 구현되어 있지 않다.3. 데이터의 논리적 독..
SQL :: 서브 쿼리 서브쿼리(Subquery) 하나의 SQL 문 안에 포함된 또 다른 SQL 문. 조인은 조인에 참여하는 모든 테이블이 대등한 관계에 있기 때문에 조인에 참여하는 모든 테이블의 컬럼을 어느 위치에서라도 자유롭게 사용할 수 있다. 그러나 서브쿼리는 메인 쿼리의 컬럼을 모두 사용할 수 있지만, 메인 쿼리는 서브쿼리의 컬럼을 사용할 수 없다.   사용 방법1. 서브쿼리를 괄호로 감싸서 사용한다. 2. 서브쿼리는 단일행(Single Row) 또는 복수행(Multiple Row) 비교 연산자와 함께 사용 가능하다. 3. 단일행 비교 연산자는 서브쿼리의 결과가 반드시 1건 이하여야 하고, 복수행 비교 연산자는 서브쿼리의 결과 건수와 상관없다. 4. 서브쿼리에서는 ORDER BY를 사용하지 못한다. ORDER BY 절은..
SQL :: 계층형 SQL 계층형질의테이블에 계층형 데이터가 존재하는 경우 데이터를 조회하기 위해서 계층형 질의(Hierarchical Query)를 사용한다 계층형 데이터란 동일 테이블에 계층적으로 상위와 하위 데이터가 포함된 데이터를 말한다START WITH- 어디부터 시작할 것인지를 정한다 ( 최상위 레코드 )CONNECT BY PRIOR- 계층 구조에서 각 행의 연결 관계를 설정한다PRIOR- 어디부터 시작할 것인지를 정해 준다. START WITH   계층 질의의 루트(부모행)로 사용될 행을 지정한다. 서브 쿼리를 사용할 수도 있다. START WITH 구문에서는 어떤 레코드를 최상위 레코드로 잡을지 지정한다. CONNECT BY 계층적인 데이터를 쿼리하는 데 사용되는 Oracle SQL의 절이다. 이를 사용하여 부모-자..
SQL :: 집합연산자 집합연산자 UNION 여러개의 SQL문의 결과에 대한 합집합중복된 행은 한개의 행으로 출력됨데이터 정렬 작업 발생 UNION ALL 여러개의 SQL문의 결과에 대한 합집합중복된 행도 그대로 결과로 표시한다데이터 정렬이 이루어지지 않는다 INTERSECT 여러개의 SQL문에 대한 교집합중복된 행은 하나로 표시한다. 두 집합의 공통 집합 추출 EXCEPT 위의 SQL문의 집합에서 아래의 SQL문의 집합을 뺀 결과를 표시한다두 집합의 차집합 추출MINUS중복 값이 제거된 차집합 데이터가 반환된다ORACLE에만 존재하는 문법  예제INTERSECTSELECT A.EMP_NO, A.EMP_NM, A.ADDR, B.CERTI_CD, C.CERTI_NM FROM TB_EMP A , TB_EMP_CERTI B, TB_..