( join으로 가져올 경우, from뒤에는 관계테이블 명 = 가운데 연결되어 있는 테이블 을 넣기! )
1. 김영철이 수강하는 과목명을 출력 ( 중복과목이 있는 경우 (학기)도 함께 출력)
mysql> select concat(su.su_title, '(' ,c.co_term, '학기)' ) as "김영철이 수강하는 과목명( 학기 )"
-> from attend a
-> join student s on at_st_num = s.st_num
-> join course c on at_co_num = c.co_num
-> join subject su on co_su_num = su.su_num
-> where st_name = "김영철"
-> order by co_term;
+
| 김영철이 수강하는 과목명( 학기 ) |
+
| 대학수학(1학기) |
| 컴퓨터개론(1학기) |
| 운영체제(1학기) |
| 대학수학(2학기) |
| 글쓰기(2학기) |
| 영어(2학기) |
+
6 rows in set (0.00 sec)
2. 강길동 교수가 지도하는 학생명 출력
mysql> select s.st_name as "강길동교수님이 지도하는 학생명" , gu_year as "지도학기" from guide g
-> join student s on gu_st_num = s.st_num
-> join professor p on gu_pr_num = p.pr_num
-> where pr_name = "강길동"
-> order by st_name;
+
| 강길동교수님이 지도하는 학생명 | 지도학기 |
+
| 강철수 | 2020 |
| 박철수 | 2020 |
+
2 rows in set (0.01 sec)
3. 대학수학 과목을 수강하는 수강자 명단 출력
mysql> select s.st_name as "대학수학 과목을 수강하는 수강자" ,co_term as "수강 학기" from attend a
-> join student s on at_st_num = s.st_num
-> join course c on at_co_num = c.co_num
-> join subject su on co_su_num = su.su_num
-> where su_title = "대학수학"
-> order by co_term;
+
| 대학수학 과목을 수강하는 수강자 | 수강학기 |
+
| 김영철 | 1 |
| 나영희 | 1 |
| 강철수 | 1 |
| 박철수 | 1 |
| 강군 | 1 |
| 김영철 | 2 |
| 나영희 | 2 |
| 강철수 | 2 |
| 박철수 | 2 |
| 강군 | 2 |
+
10 rows in set (0.00 sec)
// 중복제거하는 경우
mysql> select distinct s.st_name as "대학수학 과목을 수강하는 수강자" from attend a
-> join student s on at_st_num = s.st_num
-> join course c on at_co_num = c.co_num
-> join subject su on co_su_num = su.su_num
-> where su_title = "대학수학"
-> order by st_name;
+
| 대학수학 과목을 수강하는 수강자 |
+
| 강군 |
| 강철수 |
| 김영철 |
| 나영희 |
| 박철수 |
+
5 rows in set (0.00 sec)