데이터베이스 SQL 예제 두번째 문제입니다.
'SEOUL'에서 근무하는 사원의 이름과 부서번호를 출력하시오.
이 문제에서 원하는 것은
사원의 이름과 부서번호 입니다.
즉 SELECT name, deptno 가 되겠죠.
그리고 어떤 테이블에서 가져올 것인가의 문제인데,
사원의 이름과 부서번호는 employee 테이블에 있다고 가정하겠습니다.
그럼 FROM employee 가 되겠죠.
그런데 한가지 조건이 있습니다.
SEOUL 지역에서 근무하는 사원만 뽑아야 합니다.
SEOUL 지역에 근무하는지는 어떻게 알 수 있을까요?
그냥 알 수는 없고, 테이블을 봐야 알 수 있습니다.
여기서는 편의상 dept라는 테이블에 있다고 가정하겠습니다.
조건문 WHERE에서 SEOUL 지역에 근무하는 부서번호를 모두 가져와야 하므로,
SELECT deptno
FROM dept
WHERE loc='SEOUL';
로 하면 서울지역에 근무하는 부서번호를 모두 가져올 수 있습니다.
여기서 부서번호를 가져온 이유는 부서번호는 employee 테이블과
dept 라는 테이블에 공통적으로 부서번호라는 애트리뷰트(속성)이 있기 때문입니다.
이것을 상위 WHERE 조건문과 합치게 되면
WHERE deptno = (SELECT deptno FROM dept WHERE loc='SEOUL');
이 됩니다.
이제 위 세 문장을 종합해보면,
SELECT name, deptno
FROM employee
WHERE deptno = (SELECT deptno FROM dept WHERE loc='SEOUL');
이 됩니다.
'컴퓨터 지식 > Database' 카테고리의 다른 글
빅데이터 시대의 기준정보와 MDM의 개념에 대해서 (0) | 2018.11.12 |
---|---|
빅데이터란 무엇인가? (0) | 2018.09.27 |
데이터베이스 SQL 예제 1 (0) | 2018.08.13 |
데이터베이스 트랜잭션 (0) | 2018.08.10 |
데이터베이스 정규화이론 - BCNF 정규형 (2) | 2018.08.08 |