본문 바로가기

SQL

#5. 집합 연산자와 행의 정렬

 

1. 집합 연산자

 

    1) 집합 연산자

        : 테이블을 구성하는 행집합에 대해 테이블의 부분 집합을 결과로 반환하는 연산자이다.

        - 합병 가능 : 집합 연산의 대상이 되는 두 테이블의 칼럼 수가 같고, 대응되는 칼럼끼리 데이터 타입이 동일할 때.
 

        - 집합 연산자의 종류 : UNION, UNION ALL, MINUS, INTERSECT

 

        - 사용법

 

    2) UNION, UNION ALL

 

        - UNION 연산은 수학의 집합 연산에서 합집합을 의미한다.

 

        - UNION 연산은 두 개의 테이블에 속하면서 중복되는 행을 제외한 행 집합을 결과 집합으로 반환한다.

 

        - UNION ALL 연산은 중복되는 행을 제외하지 않고 모두 출력한다.

 

        - 예) UNION, UNION ALL 연산을 설명하기 위하여

 

                1. 1학년이면서 몸무게가 70kg 이상인 학생 집합과

                    1학년이면서 101번 학과에 소속된 학생으로 구성된 2개의 테이블을 생성한다.

 

                2. stud_heavy, stud_101 테이블에 대해 UNION, UNION ALL 연산을 수행한다.

 

    3) MINUS

        : 수학의 집합 연산에서 차집합을 의미한다.

          MINUS 연산은 테이블 A, B에서
           A테이블에 속하지만 B 테이블에는 속하지 않는 행 집합을 결과 집합으로 반환한다.
 

        - 예) stud_heavy, stud_101 테이블에 대해 MINUS 연산을 수행하여

                몸무게가 70kg이상인 1학년 학생들의 학번, 이름을 출력하되 

                101번 학과에 소속된 학생들은 제외하고 출력하여라.

 

    4) INTERSECT

        : 수학의 집합 연산에서 교집합을 의미한다.

          INTERSECT 연산은 두 개의 테이블에 모두 속하는 행 집합을 결과 집합으로 반환한다.
 
 
        - 예) 101번 학과의 1학년이면서, 몸무게가 70kg 이상인 학생들의 학번, 이름을 출력하여라.

   

 

2. 행의 정렬

 

    1) 정렬(sorting) 

 

        - 일반적으로 SQL 명령문에서 검색된 결과는 테이블에 데이터가 입력된 순서대로 출력한다.

        - 하지만, 데이터의 출력 순서를 특정 컬럼을 기준으로 오름차순 또는 내림차순으로 정렬하는 경우가 자주 발생한다.

        - 여러 개의 칼럼에 대해 정렬 순서를 정하는 경우도 발생한다.

 

        - 예) 학생 테이블에서 학번순이나 교수 테이블에서 급여순으로 정렬하는 경우

 

    2) ORDER BY

 

 

 

'SQL' 카테고리의 다른 글

#4. 조건 검색  (0) 2022.04.12
#3. 데이터 타입(ORACLE)  (0) 2022.04.11
#2. SQL 언어  (0) 2022.04.10
#1. 데이터베이스와 데이터베이스 관리 시스템  (0) 2022.04.10