old posting

    [SQL] 집합연산자

    집합연산자 여러개의 질의 결과를 연결하여 하나로 결합하는 방식 집합연산자를 사용하는 경우 서로 다른 테이블에서 유사한 형태의 결과를 반환하는 것을 하나의 결과로 합치고자 할 때 동일 테이블에서 서로 다른 질의를 수행하여 합치고자 할 때 튜닝관점에서 실행계획을 분리하고자 하는 목적 튜닝관점 데이터베이스의 응용, 데이터베이스 자체, 운영체제의 조정 등을 통해 최적의 자원으로 성능을 얻을 수 있도록 개선하는 작업 집합연산자 사용 제약사항 SELECT 절의 컬럼 수가 동일해야 한다. SELECT 절의 동일 위치에 존재하는 컬럼의 데이터 타입이 상호 호환 가능해야한다. 반드시 통일된 데이터 타입일 필요는 없다. 집합연산자 종류 UNION 여러개의 SQL문의 결과에 대한 합집합으로 결과에서 모든 중복된 행은 하나의..

    [SQL] Natural Join과 USING

    Natural Join 두 테이블 간의 동일한 이름을 갖는 모든 컬럼들에 대해 등가조인(EQUI JOIN)을 수행한다. Natural Join이 수행되면, USING, ON, WHERE 절에서 'Join 조건'을 정의할 수 없다. 별도의 컬럼 순서를 지정하지 않으면 Natural Join의 기준이 되는 컬럼들이 다른 컬럼보다 먼저 출력된다. Join에 사용된 컬럼들은 같은 데이터 유형이어야 한다. 별명(ALIAS)나 테이블명과 같은 접두어를 줄 수 없다. USING 같은 이름을 가진 컬럼들중에서 원하는 컬럼만 선택적으로 EQUI Join을 할 수 있다. 별도의 컬럼 순서를 지정하지 않으면 USING 조건절의 기준이 되는 컬럼이 먼저 출력된다. Join 컬럼에 대해서는 ALIAS나 테이블 이름과 같은 접두..

    [SQL] View 와 View 의 종류

    View 가상의 Table 실제 Table 에는 데이터가 있지만 View 에는 데이터는 없고 SQL 만 저장한다. View 에 접근할 때는 View 에 들어있던 SQL 의 수행된 결과를 가져오는 것이다. View 를 사용하는 목적 보안 : 특정 테이블의 특정 컬럼이 보여지면 안되는 경우 편의성 : 여러개의 테이블을 Join 하는게 매번 귀찮을 때 그것을 View 로 만들어 놓으면 편리하다. Oracle 의 경우 View 를 생성하려면 권한이 부여 되어야 한다. GRANT CREATE VIEW TO [USER]; GRANT CREATE PROCEDURE TO [USER]; 권한 확인 방법 SYSTEM 계정으로 확인해야한다. SELECT PRIVILEGE FROM DBA_SYS_PRIVS WHERE GRAN..

    [SQL] Sub Query와 종류 그리고 주의사항

    Sub Query 한번에 여러개의 쿼리를 처리할 수 있는 방법 Sub Query 주의사항 SubQuery 는 연산자 오른쪽에 위치해야 하며 반드시 괄호() 로 묶어야 한다. 특별한 경우를 제외하고는 SubQuery 절에는 Order By 가 올 수 없다. 단일행 SubQuery, 다중행 SubQuery 에 따라 연산자를 잘 선택해야 한다. Sub Query 종류 단일행 Sub Query 다중행 Sub Query 다중컬럼 Sub Query 상호연관 Sub Query 단일행 Sub Query 결과가 한개만 출력되는 것 단일행 Sub Query 의 WHERE 절에서 사용되는 연산자 = : 값이 같으면 true : 값이 서로 다른 값이면 true > : 왼쪽 피연산자의 값이 크면 true < : 왼쪽 피연산자의..