[자격증] 정보처리기사

[정보처리기사][실기]2과목 11 SQL – SELECT

Na선생 2019. 11. 12. 22:34

- 테이블을 구성하는 튜플들 중에서 전체 또는 조건을 만족하는 튜플을 검색하여 주기억장치에 임시테이블로 구성

 

1. SELECT문의 일반 형식

SELECT [PREDICATE] [테이블명.]속성명 [AS 별칭][, 테이블명.][속성명]

FROM 테이블명[, 테이블명]

[WHERE 조건]

[GROUP BY 속성명[, 속성명]]

[HAVING 조건]

[ORDER BY 속성명 [ASC | DESC][, 속성명 ASC|DESC]] ;


1) SELECT

- PREDICATE : 검색할 튜플을 제한할 목적으로 사용되는 조건

   ALL : 모든 튜플 검색

   DISTINCT : 중복 튜플 제거

   DISTINCTROW : 중복 튜플 제거 + 튜플의 전체 값을 대상으로 함 (선택된 속성 값X)

- 속성명 : 검색하여 불러올 속성 또는 수식

  두 개 이상 테이블 대상으로 검색할 시 테이블명.속성명

- AS : 속성 및 연산의 이름을 다른 제목으로 표시하기 위해 사용 (속성처럼 이름을 붙여서 표시함)


2) FROM

- 검색할 데이터가 들어 있는 테이블명


3) WHERE

- 검색할 조건 기술.

다양한 조건 연산자의 사용이 가능. 연산자 우선순위 따름


4) GROUP BY

- 특정 속성을 기준으로 그룹화 하여 검색할 때 사용

- 그룹 함수와 함께 잘 사용


5) HAVING

- 그룹에 대한 조건을 기술 (조건 만족 안하면 그룹으로 표시 자체가 안됨)


6) ORDER BY

- 특정 속성을 기준으로 정렬하여 검색할 때 사용

- 속성명 / 차순 ...


* 주의할 연산자

- <> : 같지 않다

- LIKE 연산자 : 대표 문자를 이용해 지정된 속성의 값이 문자 패턴과 일치하는 튜플을 검색하기 위해 사용

%

_

#

모든 문자를 대표함

문자 하나를 대표함

숫자 하나를 대표함


- 그룹함수

COUNT(속성명)

그룹별 튜플 수

 

SUM(속성명)

그룹별 합계

MAX(속성명)

그룹별 최대값

 

AVG(속성명)

그룹별 평균

MIN(속성명

그룹별 최소값

 

 

 


* 다양한 SELECT문 사용 예시

1) SELECT Trim(이름)+“월급은” AS 이름, 기본급+10 AS 기본급

 

-> 이름에 공백 제거 후 뒤에 월급은 붙인 것이 이름이라는 속성 밑에 도메인으로 들어가

기본급에 10 더해진 값이 기본급이라는 속성 밑에 도메인으로 들어가

는 듯 가상테이블 구성

2) WHERE 부서 = ‘기획’ OR 부서 = ‘인터넷’ == WHERE 부서 IN (‘기획’. ‘인터넷’)

3) WHERE 이름 LIKE ‘%’

첫 번째 글자가 김인 모든 튜플

4) WHERE 기본급 BETWEEN 80 AND 100

BETWEEN A AND B .. A B 사이...

5) 하위 질의

조건절에 주어진 하위 질의를 먼저 수행하여 그 검색 결과를 조건절의 피연산자로 사용

상위 질의를 이루는 것은 모두 상위 질의 FROM 테이블의 속성들이고

하위 질의문 괄호 안은 전부 하위 질의

즉 하위 질의의 결과로 찾게되는 상위 질의의 속성을 찾는 것

WHERE 이름<상위> IN (SELECT 이름<하위> FROM 여가활동 WHERE 취미 = ‘나이트 댄스’;