max, min은 퍼포먼스 상으로 좀 느리므로 종종 any, all을 사용하여 최소값이나 최대값을 구한다.
* 학생 중에서 생년월일이 가장 빠른 학생의 학번, 이름, 생년월일을 출력하세요
* 학년별로 평균 체중이 가장 적은 학년과 평균 몸무게를 출력하세요
* 교수 테이블에서 평균 연봉보다 많이 받는 교수들의 교수 번호, 이름, 연봉을 연봉이 높은 순으로 정렬하여 출력하세요.
(연봉은 sal*12+comm 으로 계산합니다)
123
* 학생 중에서 생년월일이 가장 빠른 학생의 학번, 이름, 생년월일을 출력하세요
SQL> select studno, name, birthdate 2 from student 3 where birthdate <= 4 all(select birthdate from student); STUDNO NAME BIRTHDATE ---------- ---------- ------------ 10202 오유석 12-OCT-77
* 학년별로 평균 체중이 가장 적은 학년과 평균 몸무게를 출력하세요
1 select grade, avg(weight) 2 from student 3 group by grade 4 having avg(weight) <= 5 all(select avg(weight) 6 from student 7* group by grade) SQL> / G AVG(WEIGHT) - ----------- 2 53.4
* 교수 테이블에서 평균 연봉보다 많이 받는 교수들의 교수 번호, 이름, 연봉을 연봉이 높은 순으로 정렬하여 출력하세요.
(연봉은 sal*12+comm 으로 계산합니다)
1 select profno, name, sal*12+(nvl2(comm,comm,0)) 연봉 2 from professor 3 where sal*12+(nvl2(comm,comm,0)) > 4 (select avg(sal*12+nvl2(comm,comm,0)) from professor) 5* order by 3 desc SQL> / PROFNO NAME 연봉 ---------- ---------- ---------- 9901 김도훈 6020 9905 권혁일 5425 9906 이만식 5040 9908 남은혁 4817
123
'Oracle > SQL' 카테고리의 다른 글
2012.01.10 SQL 6일차(ITAS, CTAS, SQL 명령어들의 분류, 그 중 DML), 트렌젝션, 시퀀스 (0) | 2012.01.10 |
---|---|
2012.01.10 DDL 연습문제(CREATE TABLE, where절을 이용한 구조만 복사, 칼럼추가, 추가시 기본값, 칼럼삭제, 데이터타입변경, 테이블 이름변경 (0) | 2012.01.10 |
2012.01.09 SQL 5일차 두번째(Sub Query) (0) | 2012.01.10 |
2012.01.09 SQL 5일차 첫번째(SELF JOIN) (0) | 2012.01.09 |
2012.01.06 SQL 4일차(연습노트,non-equi의 조건이 간단하지 않은 것들) (0) | 2012.01.09 |