본문 바로가기
컴퓨터과학[3-2]/D.B

데이터베이스 설계 및 구현 - [제8강] 데이터 조작언어 2

by boolean 2016. 7. 31.
728x90

데이터베이스 설계 및 구현 - [제8강] 데이터 조작언어 2

․데이터 검색 ․그룹질의

데이터베이스 용어정리

  • 단순질의문
    레코드를 제한하지 않고 전체 테이블을 검색하는 SELECT 문으로 WHERE 절이 없는 질의문
  • 조건질의문
    산술식 및 함수 등을 사용한 조건을 WHERE 절에 기술하여 조건을 만족하는 레코드만을 검색하는 질의문
  • 함수
    특정 목적을 수행하도록 사전에 정의된 연산 및 기능을 입력값을 사용하여 수행한 후 결과값을 반환하는 명령어 집합의 단위
  • 그룹 질의
    주어진 조건에 따라 레코드를 그룹화하고 여러 통계적인 연산을 수행하는 질의
  • 요점정리

    1. 1. SELECT 문은 관계 대수의 레코드를 선택하는 셀렉션, 특정 컬럼을 추출하는 프로젝션, 조건에 딸 두 릴레이션을 결합시키는 조인, 두 릴레이션의 레코드를 모두 조합하여 결합시키는 카시션 프로덕트 연산의 역할을 수행한다.
    2. 2. SELECT 문은 비교연산자, 논리연산자, 특수연산자, 산술 연산자 등을 사용한 수식을 사용한 조건을 WHERE절에 기술하여 테이블에 저장된 레코드 중에서 조건을 만족하는 레코드만 검색할 수 있다.
    3. 3. SELECT 절에서 출력되어야 하는 컬럼명 앞에서 DISTINCT를 기술하면, 출력 결과에서 발생된 모든 중복된 레코드가 제거된다.
    4. 4. SELECT 문의 ORDER BY 절은 특정 컬럼을 기준으로 컬럼값에 따라 오름차순 또는 내림차순으로 정렬하는 기능을 수행한다.
    5. 5. LIMIT 키워드는 SELECT 문으로 출력되는 결과물의 레코드의 개수를 제한한다.
    6. 6. GROUP BY 절은 특정 컬럼을 기준으로 동일한 컬럼값을 갖는 레코드를 그룹으로 묶어 COUNT, MIN, MAX, SUM, AVG 등의 그룹함수를 사용하여 요약된 결과를 검색한다. 또한 HAVING 절은 GROUP BY로 묶인 그룹 내에서 조건을 주어 검색하고자 할 때 사용하는 기능이다. 

    연습문제

    • 연습문제1

      다음 중 SELECT 문 형식에 포함되는 절이 아닌 것은?

      답을 체크하세요
      정답 :
      SELECT 문은 다양한 사용자 요청을 수용하여 데이터를 가공하기 위해 여러 절을 포함하고 있다. ON절은 조인 조건을 기술하이 귀한 절이며, HAVING 절은 GROUP BY 절에 의해 묶인 그룹에 대한 조건을 기술한다. ORDER BY 절은 레코드를 특정 컬럼값에 따라 정렬한다. 반면 SET은 UPDATE 문에 포함되어 수정할 컬럼값을 기술하기 위한 절이다.
    • 연습문제2

      아래의 명령을 수행하기 위한 SQL 명령문으로 정확하게 작성된 것은?

      교수의 교수번호, 소속학과, 교수이름, 입사일을 입사일의 내림차순으로 정렬하여 출력하시오.
      답을 체크하세요
      정답 :
      데이터 정렬은 ORDER BY절을 포함하는 SELECT 문을 사용한다. SELECT 문의 형식은 ‘SELECT 컬럼명 FROM 테이블명 [WHERE 조건] ORDER BY 컬럼명 ASC | DESC’이다. ASC는 오름차순을, DESC는 내림차순을 나타낸다.
    • 연습문제3

      아래의 명령을 수행하기 위한 SQL 명령문으로 정확하게 작성된 것은?

      소속학과가 ‘컴퓨터과학과’이면서 서울에 거주하는 학생의 정보를 출력하시오.
      답을 체크하세요
      정답 :
      한 개 이상의 조건은 AND, OR 등의 비교 연산자를 사용하여 결합할 수 있다. 주어진 질의문은 두 조건을 동시에 만족하는 레코드 요구하고 있으므로 AND를 사용하여야한다. 또한 SUBSTRING( ) 함수는 입력되는 문자열의 시작위치와 길이에 해당하는 부분 문자열을 반환한다. SUBSTRING ( ) 함수 대신에 LIKE 연산자를 사용할 수 도 있다.
    • 연습문제4

      아래의 명령을 수행하기 위한 SQL 명령문으로 정확하게 작성된 것은?

      현재 날짜를 출력하시오.
      답을 체크하세요
      정답 :
      SELECT 문에서 출력되는 결과가 결정되는 위치는 SELECT 절이다. 따라서 주어진 질의문과 같이 저장된 데이터가 필요하지 않은 질의문은 FROM 절이나 WHERE없이 단순히 SELECT 절만으로 SELECT 문이 구성된다. 현재의 시스템 날짜를 가져오는 함수는 CURDATE( )이므로 ‘SELECT CURDATE( )’을 사용하여 간단히 수행할 수 있다.
    • 연습문제5

      아래의 명령을 수행하기 위한 SQL 명령문으로 정확하게 작성된 것은?

      수강신청이 이루어진 강의의 강의번호와 신청횟수를 출력하시오.
      답을 체크하세요
      정답 :
      학생이 어떤 강의를 수강신청하면 수강신청 테이블에 학생번호, 강의번호 및 신청시각이 기록된다. 따라서 주어진 질의문을 처리하기 위해서는 수강신청 테이블에서 강의번호가 같은 레코드끼리 그룹을 짖고 COUNT(*) 함수를 사용하여 그룹별 포함된 레코드의 횟수를 세는 방식으로 처리할 수 있다.
    • 연습문제6

      아래의 명령을 수행하기 위한 SQL 명령문으로 정확하게 작성된 것은?

      소속학과별 최연소자의 나이가 25 이하인 그룹의 소속학과와 최연소자_나이를 출력하시오.
      답을 체크하세요
      정답 :
      GROUP BY 절 사용된 SELECT 문에서 그룹에 대한 조건은 HAVING 절에 기술한다. WHERE 절과 동일하게 연산식을 구성할 수 있으며 그룹에서만 적용가능한 그룹함수를 사용할 수 있다.


    댓글