데이터베이스 SELECT문 작성..
- 포그미(pugmi486)
- 답변채택률95.4%
- 2012.04.13 13:35
Oracle 기준으로 작성하였습니다.
Ms-SQL의 경우 WHERE rownum = 1대신에 SELECT TOP 1으로 바꾸시면 됩니다.
1. 직원을 가장 많이 필요로 하는 프로젝트의 이름과 그 위치를 검색하라.
단계1) 조건절 만들기 : 직원을 가장 많이 필요
SELECT PROJNO
FROM ( SELECT PROJNO,COUNT(*) as CNT
FROM WORKS_FOR
GROUP BY PROJNO
ORDER BY CNT DESC )
WHERE rownum = 1
단계2) 목적절에 조건절 필터링하기 : 프로젝트의 이름과 그 위치
SELECT PROJNAME
,LOCATION
FROM PROJECT a
,PROJ_LOC b
WHERE b.PROJNO = a.PROJNO
AND a.PROJNO in ( SELECT PROJNO
FROM ( SELECT PROJNO,COUNT(*) as CNT
FROM WORKS_FOR
GROUP BY PROJNO
ORDER BY CNT DESC )
WHERE rownum = 1 )
2. 가장 많은 사람을 부양하는 직원의 이름을 검색하라.
단계1) 조건절 만들기 : 가장 많은 사람을 부양
SELECT EMPNO
FROM ( SELECT EMPNO, COUNT(*) as CNT
FROM DEPENDENT
GROUP BY EMPNO
ORDER BY CNT DESC )
WHERE rownum = 1
단계2) 목적절에 조건절 필터링하기 : 직원의 이름
SELECT EMPNAME
FROM EMPLOYEE a
WHERE a.EMPNO in ( SELECT EMPNO
FROM ( SELECT EMPNO, COUNT(*) as CNT
FROM DEPENDENT
GROUP BY EMPNO
ORDER BY CNT DESC )
WHERE rownum = 1 )
3. 부품들 중 그 가격이 10,000 원에서 100,000원 사이인 부품들에 대해서 이들을 공급하는 공급자별로 부품가격의 합계를 검색하라.
단계1) 조건절 만들기 : 부품들 중 그 가격이 10,000 원에서 100,000원 사이
SELECT PARTNO,PRICE
FROM PART
WHERE PRICE >= 10000 AND PRICE <= 100000
단계2) 목적절에 조건절 필터링하기 : 공급자별로 부품가격의 합계
SELECT a.SUPPNAME
,SUM(c.PRICE) as PRICE
,SUM(c.PRICE*b.QUNTITY) AS APP_PRICE
FROM SUPPLIER a
,SUPPLY b
,PART c
WHERE c.PARTNO = b.PARTNO
AND c.PRICE >= 10000 AND c.PRICE <= 100000
AND b.SUPPNO = a.SUPPNO
GROUP BY a.SUPPNAME
'메모' 카테고리의 다른 글
ftp 파일이나 폴더 안지워질때... (0) | 2012.06.21 |
---|---|
php crypt()에 관해...펌 (0) | 2012.06.21 |
form onsubmit에서 return true가 돼야 form 내용이 실행이 됨... (0) | 2012.06.19 |
form input onsubmit...펌 (0) | 2012.06.19 |
제로보드 필드명...펌 (0) | 2012.06.18 |