SELECT 구문

(2020-09-21)

SQL 쿼리, Select 쿼리, FROM 절, WHERE 조건절, GROUP BY 절, HAVING 절, ORDER BY 절, VIEW 구문, 서브 쿼리

1. [SQL]  SELECT 쿼리 구문

  ㅇ DISTINCT 절
     - 특정 칼럼의 유니크한 값들
     - GROUP BY 절과 유사하나, 정렬이 보장되지 못함

  ㅇ FROM 절
     - 대상 테이블의 지정
     - 주로, 다중 테이블에 대한 질의 JOIN 조건
        . (레코드 집합집합 간의 집합 연산은, ☞ SQL 조인 참조)
     - JOIN에 대한 추가적인 조건절 
        . ON 조건절
           .. 칼럼명이 다르더라도, JOIN 조건을 구사 가능하게 하며,
           .. 명시적으로 칼럼에 대한 JOIN 조건을 주어 명확하게 해줄 수 있음
        . USING 조건절 
           .. NATURAL JOIN의 경우에, 모든 일치되는 칼럼들에 대해 JOIN이 이루어지나,
           .. USING 뒤에 칼럼명을 주어 원하는 칼럼에 대해서 만 선택적으로 JOIN 수행

  ㅇ WHERE 조건절
     - 개별 행에 대한 조건 만 가능 
        . 즉, 결과 집합을 내기 전에 각 레코드에 조건을 적용
        . 따라서, WHERE 절에는 필드(칼럼)명 만 가능하여, 별칭(alias)을 쓸 수 없음

     - 그룹핑,집계 이전에 수행되므로, WHERE절에서는 그룹핑/집계 함수가 허용 안됨

     - 다중 테이블인 경우에, FROM 절의 JOIN 조건에 해당되는 질의도 가능
        . 이때, 두 테이블에 속한 필드들에 연산자(=,>,<,>=,<=,BETWEEN 등)들을 적용하여,
                JOIN을 구사할 수 있음

  ㅇ GROUP BY 절
     - WHERE 절 조건이 먼저 적용되고, GROUP BY는 그 결과 만을 그룹핑 함
        . GROUP BY : 결과 집합 대상에 대한 기준

     * GROUP BY절 사용시, 인덱스를 거치지(사용하지) 않음
     * 컬럼 별칭 허용 안함
     * 집계 함수를 사용 않는 GROUP BY절은, SELECT DISTINCT와 동일함
     * GROUP BY절은, 결과 집합을 정렬 않으며, 정렬하려면 ORDER BY절을 사용해야 함

  ㅇ HAVING 조건절 
     - GROUP BY절 등에 의해 집계된 결과 집합에 대해서 만 행별 조건을 적용
        . 즉, 집합 결과에 추가적으로 제한하는 (더 정제해주는) 조건을 주는 것
     - 그룹별 집계 결과들을 서로 비교할 수 있음
        . 例) 평균 배송 시간이 다른 모든 평균 배송 시간 보다 초과하는 공급자를 찾는 등
        . 例) 분기별 각 항목의 주문 비율을 계산하는 경우 등
     - HAVING 절에는, GROUP BY절과 달리, 필드(칼럼)명 대신에 별칭(alias)을 쓸 수 있음
        . 단, 계산이 있는 표현식의 경우에는, 별칭 사용 못함

  ㅇ ORDER BY 절
     - 먼저 데이터들이 추출된 후에, 그 결과 집합을 만들면서 정렬 작업이 일어남
        . 즉, 먼저 데이터들이 정렬되는 것이 아님


2. [SQL]  VIEW 구문

  ㅇ SELECT 구문 만을 데이터베이스 내에 저장해놓고, 필요시 해당 구문을 불러내어 사용하는 기능

  ㅇ (형식) CREATE VIEW [뷰이름] ([필드명1],[필드명2],...) AS [SELECT 구문]

  ㅇ (사용) 통상의 SELECT 구문의 FROM절 내 테이블 명칭 처럼 사용


2. [SQL]  서브 쿼리 (Subquery)

  ㅇ 괄호 내 완전한 SELECT문을 넣고 이에 이름을 붙힌 테이블 추출 표현식
     - SQL문에 많은 추가적인 유연성을 제공하여 줌

  ㅇ 종류
     - 테이블 서브 쿼리 : 테이블 집합 전체를 반환
     - 단일 컬럼 서브 쿼리 : 여러 값을 갖는 단일 컬럼을 반환
        . (例) SELECT ... FROM ... WHERE col IN (서브쿼리)
     - 스칼라 서브 쿼리 : 값을 하나만 반환


[SQL] 1. SQL 2. SQL 쿼리 (SELECT 구문) 3. SQL 활용 4. SQL 조인 5. SQL 함수 6. DDL (데이터 조작:테이블 생성/변경) 7. SQL 용어
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   전기전자공학
  5.   방송/멀티미디어/정보이론
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
    4.   데이터베이스
          1. DB
      1.   데이터베이스 기초
      2.   관계형데이터베이스
            1. RDB
            2. RDBMS
            3. 관계 대수
            4. 실행 계획
        1.   RDB 용어
        2.   SQL
          1.   1. SQL
              2. SQL 쿼리 (SELECT 구문)
              3. SQL 활용
              4. SQL 조인
              5. SQL 함수
              6. DDL (데이터 조작:테이블 생성/변경)
              7. SQL 용어
        3.   MySQL
      3.   DB 모델링/설계
      4.   회복,병행제어
      5.   데이터웨어하우스
      6.   데이터베이스(기타일반)
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공학일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록     참고문헌