· left join : 왼쪽 테이블을 기준으로 오른쪽 테이블과 매치 / 왼쪽 테이블의 한 개의 레코드에 여러 개의 오른쪽 테이블 레코드가 일치한 경우, 왼쪽 레코드 여러번 출력
· right join : 오른쪽 테이블을 기준으로 왼쪽 테이블 매칭
· full join : 전체 테이블 조회 (거의 존재 안함)
select * fromprofessorp
innerjoinlecturel
onp.p_no = l.p_no;
select * fromprofessorp
leftjoinstudents
onp.p_no = s.advisor
wheres.year=2;
추가적인 조건을 where로 걸어둠
3개 테이블을 join 한다면?
selects.s_name, e.merits, c.c_name
fromstudents
leftjoinenrollmente
ons.s_no=e.s_no
leftjoincoursec
one.c_no =c.c_no
wheres.year=2;
2학년 학생들의 과목
- 함경수(null값) 를 없애기 위해서는?
selects.s_name, e.merits, c.c_name
fromstudents
rightjoinenrollmente
ons.s_no=e.s_no
leftjoincoursec
one.c_no =c.c_no
wheres.year=2;
👀문제 풀어보기 1. 4학년 학생들 중에서 85점 이상인 학생의 이름, 강의이름, 학점 출력 select s_name, c_name, c.pointfrom student sleft join enrollment e on s.s_no =e.s_no left join course c on c.c_no = e.c_no where e.merits >= 85 and s.year=4; 2. 4학년 학생들이 수강한 강의 담당 교수의 이름과, 학생 이름, 학과명 출력 3. 컴퓨터구조 강좌를 수강한 학생의 이름과 담당교수, 학과 사무실 위치를 출력