|
1
2
3
4
5
6
7 |
SQL> select s.studno, s.name, d.dname, d.loc2 from student s, department d3 where s.studno=10101 and s.deptno=d.deptno;STUDNO NAME DNAME LOC---------- ---------- ---------------- ----------10101 전인하 컴퓨터공학과 1호관 |
2. 몸무게가 80kg 이상인 학생의 학번, 이름,체중,학과이름,학과위치를 출력
|
1
2
3
4
5
6
7
8
9 |
SQL> select s.studno, s.name,s.weight, d.dname, d.loc2 from student s, department d3 where s.weight >= 80 and s.deptno=d.deptno;STUDNO NAME WEIGHT DNAME LOC---------- ---------- ---------- ---------------- ----------10107 이광훈 92 컴퓨터공학과 1호관10103 김영균 88 컴퓨터공학과 1호관10202 오유석 92 멀티미디어학과 2호관 |
3. Temp테이블을 사용해 사번, 성명, 생일 출력. 단, 자신보다 생일이 빠른 사람수를 오름차순 정렬하여 출력
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 |
SQL> select a.emp_id, a.emp_name, a.birth_date, count(b.birth_date)2 from temp a, temp b3 where a.birth_date > b.birth_date(+)4 group by a.emp_id, a.emp_name, a.birth_date5 order by 4;EMP_ID EMP_NAME BIRTH_DATE COUNT(B.BIRTH_DATE)---------- ---------- ------------ -------------------19960303 설까치 25-SEP-71 019966102 지문덕 05-JUL-72 119930402 강감찬 15-AUG-72 219960212 배뱅이 15-DEC-72 319960101 홍길동 22-MAR-73 419950303 이순신 15-JUN-73 519970101 김길동 25-JAN-74 619970201 박문수 15-APR-75 719930331 정도령 25-MAY-76 819970112 연흥부 05-NOV-76 920000101 이태백 25-JAN-80 1020000102 김설악 22-MAR-80 1120000203 최오대 15-APR-80 1220000334 박지리 25-MAY-80 1320000305 정북악 15-JUN-80 1420006106 유도봉 05-JUL-80 1520000407 윤주왕 15-AUG-80 1620000308 강월악 25-SEP-80 1720000119 장금강 05-NOV-80 1820000210 나한라 15-DEC-80 1920 rows selected. |
4. EQUI JOIN을 이용하여 학생 이름과 소속 학과 이름을 학과 이름, 학생 이름순으로 정렬하여 출력
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 |
SQL> select s.name, d.dname2 from student s, department d3 where s.deptno=d.deptno4 order by 2, 1;NAME DNAME---------- ----------------김진영 멀티미디어학과오유석 멀티미디어학과윤진욱 멀티미디어학과하나리 멀티미디어학과김진경 전자공학과박동진 전자공학과이동훈 전자공학과조명훈 전자공학과김영균 컴퓨터공학과류민정 컴퓨터공학과박미경 컴퓨터공학과서재진 컴퓨터공학과이광훈 컴퓨터공학과임유진 컴퓨터공학과전인하 컴퓨터공학과지은경 컴퓨터공학과16 rows selected. |
5. OUTER JOIN을 이용하여 101번 학과에 소속된 학생들의 이름과 지도 교수이름을 출력
이때 지도교수가 배정되지 않은 학생도 함께 출력
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 |
SQL> select s.name, p.name2 from student s, professor p3 where s.profno=p.profno(+) and s.deptno=101;NAME NAME---------- ----------이광훈 성연희전인하 성연희김영균 이만식류민정 전은지임유진 전은지지은경 전은지서재진박미경8 rows selected. |
6. 공과대학에 소속된 학부와 학과 이름을 출력
|
1
2
3
4
5
6
7
8
9
10 |
SQL> select b.dname, a.dname2 from department a, department b3 where a.college = b.deptno and b.dname <> '공과대학';DNAME DNAME---------------- ----------------정보미디어학부 멀티미디어학과정보미디어학부 컴퓨터공학과메카트로닉스학부 기계공학과메카트로닉스학부 전자공학과 |
7. 각 학과별로 학과번호 , 학과 이름, 소속 학생 이름, 학생의 지도교수 이름,
지도교수 직급, 지도교수 소속 학과번호 , 지도교수소속 학과명을 출력
(단, 지도교수가 없는 학생과 지도 학생이 없는 교수 모두 출력)
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64 |
SQL> select d.deptno, d.dname, s.name, p.name, p.position, dept.deptno, dept.dname2 from student s3 full outer join professor p on p.profno=s.profno4 left outer join department d on d.deptno = s.deptno5 left outer join department dept on dept.deptno = p.deptno6 order by 1,3;DEPTNO DNAME NAME NAME POSITION DEPTNO DNAME---------- ---------------- ---------- ---------- -------------------- ---------- ----------------101 컴퓨터공학과 김영균 이만식 부교수 101 컴퓨터공학과101 컴퓨터공학과 류민정 전은지 전임강사 101 컴퓨터공학과101 컴퓨터공학과 박미경101 컴퓨터공학과 서재진101 컴퓨터공학과 이광훈 성연희 조교수 101 컴퓨터공학과101 컴퓨터공학과 임유진 전은지 전임강사 101 컴퓨터공학과101 컴퓨터공학과 전인하 성연희 조교수 101 컴퓨터공학과101 컴퓨터공학과 지은경 전은지 전임강사 101 컴퓨터공학과102 멀티미디어학과 김진영 권혁일 교수 102 멀티미디어학과102 멀티미디어학과 오유석 권혁일 교수 102 멀티미디어학과102 멀티미디어학과 윤진욱 권혁일 교수 102 멀티미디어학과102 멀티미디어학과 하나리201 전자공학과 김진경 이재우 조교수 201 전자공학과201 전자공학과 박동진201 전자공학과 이동훈201 전자공학과 조명훈염일웅 전임강사 102 멀티미디어학과김도훈 교수 101 컴퓨터공학과남은혁 부교수 202 기계공학과19 rows selected.select d.deptno, d.dname, s.name, p.name, p.position, p.deptno, d.dnamefrom department d, student s, professor pwhere d.deptno=s.deptnoand s.profno=p.profno(+)unionselect d.deptno, d.dname, s.name, p.name, p.position, p.deptno, d.dnamefrom department d, student s, professor pwhere s.profno(+)=p.profno and d.deptno=p.deptno;DEPTNO DNAME NAME NAME POSITION DEPTNO DNAME---------- ---------------- ---------- ---------- -------------------- ---------- ----------------101 컴퓨터공학과 김영균 이만식 부교수 101 컴퓨터공학과101 컴퓨터공학과 류민정 전은지 전임강사 101 컴퓨터공학과101 컴퓨터공학과 박미경 컴퓨터공학과101 컴퓨터공학과 서재진 컴퓨터공학과101 컴퓨터공학과 이광훈 성연희 조교수 101 컴퓨터공학과101 컴퓨터공학과 임유진 전은지 전임강사 101 컴퓨터공학과101 컴퓨터공학과 전인하 성연희 조교수 101 컴퓨터공학과101 컴퓨터공학과 지은경 전은지 전임강사 101 컴퓨터공학과101 컴퓨터공학과 김도훈 교수 101 컴퓨터공학과102 멀티미디어학과 김진영 권혁일 교수 102 멀티미디어학과102 멀티미디어학과 오유석 권혁일 교수 102 멀티미디어학과102 멀티미디어학과 윤진욱 권혁일 교수 102 멀티미디어학과102 멀티미디어학과 하나리 멀티미디어학과102 멀티미디어학과 염일웅 전임강사 102 멀티미디어학과201 전자공학과 김진경 이재우 조교수 201 전자공학과201 전자공학과 박동진 전자공학과201 전자공학과 이동훈 전자공학과201 전자공학과 조명훈 전자공학과202 기계공학과 남은혁 부교수 202 기계공학과19 rows selected. |
8. 교수 테이블에서 학과번호 ,교수 이름, 교수 별 지도 학생 수 , 학과별 소계학생수, 총 학생수를 출력
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 |
SQL> select p.deptno, p.name, count(s.name) s_count2 from professor p, student s3 where s.profno=p.profno4 group by rollup(p.deptno, p.name);DEPTNO NAME S_COUNT---------- ---------- ----------101 성연희 2101 이만식 1101 전은지 3101 6102 권혁일 3102 3201 이재우 1201 1109 rows selected. |