1. 학생이름과 지도교수이름 출력하기.단 지도학생이 없는 교수이름과, 지도교수가 없는 학생이름도 출력하기
지도학생이 없는 교수의 경우 지도학생이름은 "****"로 표시하고 지도교수가 없는 학생의 지도교수는 '####'
으로 출력하기.
[결과]
지도학생 지도교수
--------------- -----------------
**** 김도형
**** 김자바
**** 김현정
**** 바비
**** 비
**** 아이유
**** 이창익
구유미 김태희
김문호 나몰라
김주현 ####
김진욱 엄호선
나학생 심슨
노정호 김태희
누구야 나몰라
몰라두 심슨
안광훈 최슬기
안은수 ####
오나라 나몰라
유해진 장혜진
이사랑 엄호선
이서진 김명신
이윤나 ####
인영민 ####
일지매 김명신
조아해 나한열
허우 ####
홍길동 김명선
select nvl(s.name,'****'),
nvl(p.name,'####')
from student s full outer join professor p
on s.profno = p.profno
2. 학과별,학년별 성적이 가장 높은 성적을 받은 학생의 학과코드,학과명,학년,이름,점수 출력하기
[결과]
학과코드 학과명 학년 이름 점수
---------- ---------------------------- ---------- -------------------- ----------
101 컴퓨터공학과 1 이윤나 91
101 컴퓨터공학과 2 일지매 89
101 컴퓨터공학과 3 이서진 92
101 컴퓨터공학과 4 홍길동 97
102 멀티미디어공학과 1 김주현 83
102 멀티미디어공학과 2 김진욱 77
102 멀티미디어공학과 3 유해진 87
102 멀티미디어공학과 4 이사랑 78
103 소프트웨어공학과 1 허우 84
103 소프트웨어공학과 4 조아해 83
201 전자공학과 1 안은수 88
201 전자공학과 2 안광훈 86
201 전자공학과 3 몰라두 95
201 전자공학과 4 나학생 62
202 기계공학과 3 오나라 81
202 기계공학과 4 누구야 88
301 문헌정보학과 2 노정호 87
301 문헌정보학과 3 구유미 79
select * from department
select * from exam_01
select d.deptno 학과코드,
d.dname 학과명,
s.grade 학년,
s.name 이름,
e.total 점수
from department d,exam_01 e,student s
where d.deptno = s.deptno1 and s.studno = e.studno
(2)Ansi 방식
select s.deptno1, d.dname, s.grade,s.name, e.total
from student s join department d
on s.deptno1=d.deptno
join exam_01 e
on s.studno = e.studno
order by 1,3,5
3. 학과별 생년월일이 가장 빠른 학생의 학번, 이름, 생년월일,학과명을 출력
STUDNO NAME BIRTHDAY DNAME
---------- ---------------- -------- ---------------
9412 이사랑 75/02/24 멀티미디어공학과
9414 나학생 75/12/25 전자공학과
9514 구유미 76/01/20 문헌정보학과
9411 홍길동 75/10/23 컴퓨터공학과
9415 누구야 75/03/03 기계공학과
9413 조아해 75/06/15 소프트웨어공학과
select s.studno,
s.name,
s.birthday,
d.dname
from student s,department d
where s.deptno1 = d.deptno and s.birthday
in (select min(birthday) from student group by deptno1)
4. 교수 테이블의 입사일을 2015년 1월 1일로 입력하기
교수번호 : 6001 , 교수명 : 최윤식
직책 : 조교수, id : choiys
입사일 : 2015-01-01, 부서코드 : 501
pay : 400
입력전 조회
select* from professor
입력
insert into professor
values (6001,'최윤식','choiys','조교수',400,'2015/01/01',null,501,null,null)
입력후 조회
select * from professor where name = '최윤식'
insert into professor (profno, name,position,id,hiredate
5. department 테이블에 메카트로닉스학부의 하위 학과로 메카트로닉스공학과를 401번 코드로 추가하기.
건물명은 null로 추가한다.
select * from department where part = 200
[결과]
deptno dname part build
-------- ------ ----- -----
201 전자공학과 200 전자제어관
202 기계공학과 200 기계실험관
203 화학공학과 200 화학실습관
401 메카트로닉스공학과 200
입력전후 확인 조회
select * from department where part = 200
입력
insert into department(deptno,dname,part)
values (401,'메카트로닉스공학과',200)
or
insert into department
values (401,'메카트로닉스공학과',200,null)
6. department 테이블에서 공과대학 속한 데이터만 저장하는 department10 테이블 생성하기
select * from department10
[결과]
deptno dname part build
------ -------- ------- -------
101 컴퓨터공학과 100 정보관
102 멀티미디어공학과 100 멀티미디어관
103 소프트웨어공학과 100 소프트웨어관
201 전자공학과 200 전자제어관
202 기계공학과 200 기계실험관
203 화학공학과 200 화학실습관
테이블생성
create table department10 as
(select * from department
where part in (select deptno from department
where part =
(select deptno from department where dname = '공과대학')))
확인 조회
select * from department10