SQL 활용

(2017-11-11)

Select 쿼리

1. SELECT 쿼리

  ㅇ WHERE 절, HAVING 절
     - WHERE 조건절  : 각 개별 행에 대한 조건 만 가능 (그룹핑/집계 함수는 허용 안됨)
        . 즉, 결과 집합을 내기 전에 각 레코드에 조건을 적용
        . 따라서, WHERE 절에는 필드(칼럼)명 만 가능하여, 별칭(alias)을 쓸 수 없음
     - HAVING 조건절 : 결과 집합에 대해 행별 조건을 적용
        . 집합 결과에 추가적으로 제한하는 조건을 줌
        . 따라서, HAVING 절에는 필드(칼럼)명 대신에 별칭(alias)을 쓸 수 있음

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

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

  ㅇ 데이터 분석을 위한 그룹핑 기능 관련
     - Aggregate 기능 : COUNT(), SUM(), AVG(), MAX(), MIN() 등 집계 함수
        . 그룹 당 단 하나의 결과 만을 주는 다중행을 대상으로하는 집계 함수

     - Group 기능      : 例) ROLLUP, CUBE, GROUPING SETS
     - Window 기능

  ㅇ SELECT 결과 집합의 행 번호 매기기
     - ORACLE : rownum
     - MySQL  : @rownum (세션 변수 활용)
        . (SET @rownum:=0; SELECT (@rownum:=@rownum+1) ... )

  ㅇ Top N 쿼리
     - ORACLE     :  SELECT colnames FROM tablename WHERE ROWNUM <= N
     - SQL Server :  SELECT TOP(N) colnames FROM tablename
     - MySQL      :  SELECT colnames FROM tablename LIMIT N


2. 조건문 구현

  ㅇ CASE 식 : 
     - 구문 형식    : CASE WHEN 평가식 THEN 실행결과식 ELSE 기타실행식 END
     - 적용 가능 식 : SELECT, WHERE, GROUP BY, HAVING, ORDER BY 내 적용 가능


3. 테이블 생성

  ㅇ 현존 테이블로부터 새로운 테이블 생성
     - CREATE TABLE 새테이블명 AS (SELECT * FROM 현테이블명);

  ㅇ 제약조건 (Constraint)
     - NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK, DEFAULT


4. 테이블 갱신

  ㅇ JOIN 활용
     - UPDATE 테이블A a INNER JOIN 테이블B b ON a.i = b.i SET a.갱신컬럼 = (갱신식)


5. [참고사항]

  ㅇ 다중 테이블에 대한 SQL JOINsSQL JOINs 참조


[SQL] 1. SQL 2. SQL 기초 활용 3. SQL 조인 4. RQBE
  1.   기술공통
  2.   기초과학
  3.   파동/광학/음향
  4.   방송/멀티미디어/정보이론
  5.   전자/전기/제어
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
    4.   데이터베이스
          1. DB
      1.   데이터베이스 기초
      2.   관계형데이터베이스
            1. 관계형 데이터베이스
            2. 관계DB 주요 용어
            3. 관계(relation)
            4. 튜플
            5. 관계 대수
        1.   SQL
          1.   1. SQL
              2. SQL 기초 활용
              3. SQL 조인
              4. RQBE
        2.   MySQL
      3.   DB 모델링/설계
      4.   회복,병행제어
      5.   데이터웨어하우스
      6.   데이터베이스(기타일반)
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   기계/재료/공업일반
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     참고문헌