• 검색 결과가 없습니다.

• WHERE 절에는 명시적인 값들의 집합을 사용할 수 있음

N/A
N/A
Protected

Academic year: 2022

Share "• WHERE 절에는 명시적인 값들의 집합을 사용할 수 있음"

Copied!
10
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

• WHERE 절에는 명시적인 값들의 집합을 사용할 수 있음

예) 프로젝트 번호 1, 2, 3에서 일하는 모든 종업원들의 등록번호를 검색하 시오.

SELECT DISTINCT ESSN FROM WORKS_ON

WHERE PNO IN(1,2,3) ;

• SQL은 애트리뷰트의 값이 NULL(없음)인지 검사하는 기능도 있음

SQL 에서 명시적 집합과 널

• SQL은 애트리뷰트의 값이 NULL(없음)인지 검사하는 기능도 있음

– 애트리뷰트를 NULL과 비교하기 위해서 IS나 IS NOT을 사용함

– SQL에서는 각각의 널 값이 다른 널 값들과 다르다고 간주하므로 = 형태의 비교 는 적당하지 않음

예) 감독관이 없는 모든 종업원들의 이름을 검색하시오.

SELECT FNAME, LNAME FROM EMPLOYEE

WHERE SUPERSSN IS NULL ;

(2)

• Self-Join & 질의 결과 애트리뷰트의 재 명명 (AS 사용)

재명명 애트리뷰트와 조인된 테이블

Q15: 직원과 그의 상사이름은 ?

SELECT E.LNAME AS EMPLOYEE_NAME, S.LNAME AS SUPERVISOR_NAME FROM EMPLOYEE AS E, EMPLOYEE AS S WHERE E.SUPERSSN=S.SSN ;

Ch4 2 Database Systems

E S

(3)

• SQL2에서는 FROM 절에 조인 연산의 결과를 지정할 수도 있음

Q16-1: Research 부서에 근부하는 직원과 그의 주소는 ?

DBMS 종류에 따라서 지원하지 않을 수 있음

SELECT FNAME, LNAME, ADDRESS

FROM (EMPLOYEE JOIN DEPARTMENT ON DNO=DNUMBER) WHERE DNAME='Researsh’ ;

Q16:

재명명 애트리뷰트와 조인된 테이블

Q16:

SELECT FNAME, LNAME, ADDRESS FROM EMPLOYEE, DEPARTMENT WHERE DNO=DNUMBER

AND DNAME=“Research” ;

(4)

• 외부 조인 (outer join)

– SQL2에서는 INNER JOIN(JOIN과 같음), LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN 등을 사용할 수 있음

– 후자의 세 경우에는 키워드 OUTER를 생략해도 됨

재명명 애트리뷰트와 조인된 테이블(cont.)

Q17: Research 부서에 근부하는 직원과 그의 주소는 ?

SELECT E.LNAME AS EMPLOYEE NAME, S.LNAME AS SUPERVISOR NAME FROM (EMPLOYEE E LEFT OUTER JOIN EMPLOYEE S

Ch4 4 Database Systems

FROM (EMPLOYEE E LEFT OUTER JOIN EMPLOYEE S

ON E.SUPERSSN = S.SSN ) ;

Left Outer Join :

Left Table (Employee E)은 조인에 참여하지 않아도 모두 결과에 나타난다.

유사하게 Right Outer Join, Full Outer Join도 지원

(5)

• Left Outer Join

E S

재명명 애트리뷰트와 조인된 테이블(cont.)

(6)

다양한 집계함수를 지원함

집단함수(aggregate funcion)와 그룹화(grouping)(cont.)

Q18: Research 부서에 근무하는 직원들의 급여 통계 ? SELECT SUM(SALARY) as Sum, MAX(SALARY) as Max,

MIN(SALARY) as Min, AVG(SALARY) as Avg FROM EMPLOYEE, DEPARTMENT

WHERE DNO=DNUMBER AND DNAME="Research";

Ch4 6 Database Systems

Q18_1: Research 부서에 근무하는 직원수 ? SELECT COUNT(*)

FROM EMPLOYEE, DEPARTMENT

WHERE DNO=DNUMBER AND DNAME=“Research” ;

(7)

• 그룹화 (grouping)

– 특정 속성(들)의 값이 동일한 튜플들을 모아서 그룹을 생성 – 각 그룹에 대하여 집계함수를 적용함

– 이 때, 그루핑의 기준이 되는 속성들을 그룹화 속성이라고 하며, SQL의 GROUP BY절에 지정함

– 대부분의 경우, SELECT절에 그룹화 애트리뷰트(들)를 지정하여 그 값과 그 값에 해당하는 투플 그룹에 집단함수를 적용한 결과를 동시에 반환함

– SELECT 절에는 그룹화 애트리뷰트(DNO)와 각 튜플들의 그룹에 적용할 집단 함수

집단함수(aggregate funcion)와 그룹화(grouping)(cont.)

– SELECT 절에는 그룹화 애트리뷰트(DNO)와 각 튜플들의 그룹에 적용할 집단 함수 들만 포함함

(8)

(a)

Q19: 부서별로 부서번호, 부서소속 종업원수, 부서의 평균봉급은 ? SELECT DNO, COUNT(*), AVG(SALARY)

FROM EMPLOYEE GROUP BY DNO ;

집단함수(aggregate funcion)와 그룹화(grouping)(cont.)

Ch4 8 Database Systems

(9)

(a)

Q20: 부서별로 성별로 부서번호, 성별, 부서소속 종업원수, 부서의 평균봉급은 ? SELECT DNO, SEX, COUNT(*), AVG(SALARY)

FROM EMPLOYEE GROUP BY DNO, SEX ;

집단함수(aggregate funcion)와 그룹화(grouping)(cont.)

(10)

• SQL 질의는 6개의 절로 구성되지만, 필수사항은 처음의 두 개 뿐임

SELECT <애트리뷰트 목록>

FROM <테이블 목록>

[WHERE <조건>]

[GROUP BY <집단화 애트리뷰트>]

[HAVING <집단 조건>]

[ORDER BY <애트리뷰트 목록>]

SELECT 절은 질의 결과에 포함될 애트리뷰트들이나 함수를 나열함

SQL 질의에 대한 논의와 요약

SELECT 절은 질의 결과에 포함될 애트리뷰트들이나 함수를 나열함

FROM 절은 질의의 대상을 명시하는 곳으로 조인된 릴레이션이나 릴레이션(들) 을 지정함

WHERE 절은 튜플들에 대한 조건을 명시함

GROUP BY절은 그룹화 애트리뷰트들을 지정함

HAVING 절은 그룹들에 대한 조건을 지정함

ORDER BY 절은 정렬 기준이 되는 애트리뷰트(들)을 지정함

질의의 평가 순서는 먼저 FROM, WHERE절, GROUP BY절, HAVING절, SELECT절, ORDER BY 절 순서임

Ch4 10 Database Systems

참조

관련 문서

We firmly believe that deeper voluntary cuts by nuclear weapon states will grant them greater moral authority and political legitimacy to call on non-nuclear weapon states

[r]

RUO: Right upper outer quadrant, RLO: Right lower outer quadrant, RUI: Right upper inner quadrant, LUO: Left upper outer quadrant, Ca.: Calcification, FNAB: Fine

2 pc Shock-absorbing spring (outer type) 2 pc Shock-absorbing spring (inner type) 2 pc Plastic splash guard ring.

스스로 판단하고 결정하며 책임을 지는 힘, 강점을 키워주 고 약점은 보완할 수 있도록 해주어야 하는 것입니다.. 각자의 기량과 특성을 잘 알고 순서 를 정해주는

Chuncheon City Hall is organizing the ‘17th Chuncheon Citizen Day’.. Foreign students are very welcome to apply and join

International students can experience various Korean culture programs every week with a Chuncheon Volunteer group ‘DeoBuReo’. Come

We study relations lower (upper, join meet, meet join) approximation operators, Galois (dual Galois, residuated, dual residuated) connections and Alexandrov L-topologies..