\

해병 코딩

728x90
반응형

 

문제 풀기전  

실습 데이터 가지고 오기  아래 링크

2021.03.24 - [[DB]데이터 베이스/오라클DB(Oracle)] - [DB] 데이터베이스 오라클 샘플데이터( SAMPLE DATA) 실습 가능한 데이터/sql 실습/table

 

[DB] 데이터베이스 오라클 샘플데이터( SAMPLE DATA) 실습 가능한 데이터/sql 실습/table

샘플 데이터 복사 해 그대로 붙이면 테이블 생성된다 drop 도 있어서 이 데이터의 초기화도 가능하다. drop table professor ; create table professor (profno number(4) primary key, name varchar2(10) not nu..

marine1188.tistory.com

조인 실습 

디폴트 조인 은 inner 조인 실습이다.

여러가지 테이터를 합쳐서 보여주기 위한것이 조인이다 

--     inner join =
--     left outer join *=
--     right outer join =*
     
--     여러개의 테이블 조인
        --select 컬럼명 , .....
        --from 테이블이름 별칭 [Inner] join 테이블이름 별칭
        --on 별칭.컬럼명 = 별칭.컬럼명 [Inner] join 테이블이름 별칭
        --on 별칭.컬럼명 = 별칭.컬럼명 ...
    select * from professor; -- profno,deptno
    select * from student;   --studne,deptno1,profno
    select * from department; --deptno,dname
    
    --담당 교수 찾기 
    select p.deptno, p.name as 담당교수,s.name 학생이름,dname
        from professor p inner join department d
        on p.deptno = d.deptno inner join student s
        on d.deptno = s.deptno1;

 

이 문제는 3개의 테이블의 값을 조인 시켜 원하는 테이터를 출력하는 문제이다

원하는 테이터는 이렇다.

출력 결과

PROFNO (학과코드) / professor 테이블의 name(담당교수명)/student 테이블의 name(학생명)/department 테이블의 dname (전공학과) 를 알고 싶다. 포인트): 담당교수명

 

다시 말해 / 학과 코드/ 담당교수명 /학생명/전공학과 순으로 보고 싶은 것 이다.

칼럼이름 중  name이 이름이 중복되서 교수테이블은 p /학생 테이블은 p

                  deptno 또한 이름이 중복되서 교수테이블은 p /학과 테이블은 d

 

그럼 먼저 각 테이블에 어떠한 칼럼이 있는지 확인 부터 하자

학과 코드 가 일치는 하는것을 알수 있다 

다만 student 테이블은 deptno1 이고 나머지는 deptno 이다

select * from professor;    -- profno , deptno
select * from student;     -- studno, deptno1, profno
select * from department;   -- deptno, dname

 

 

 

위 코드 말 설명 

교수(professor) 테이블에  학과(department) 테이블 에 학과코드(deptno) / 학생 테이블에 학과코드(deptno)를 조인 해야한다.

select p.deptno 학과코드, p.name as 담당교수명,  s.name 학생명, dname 전공학과
    from professor p inner join department d
    on p.deptno = d.deptno  inner join student s
    on d.deptno = s.deptno1;

join  이 이해가 안가면 아래 클릭 다녀오면 이해됨 아

 

2021.03.24 - [[DB]데이터 베이스] - [DB]Join 데이터베이스 조인 하기 /SQL 문 / inner Join /outer Join/ 개념 설명

 

 

professor 테이블 칼럼 과 구조 

student 테이블 칼럼 과 구조

department 테이블 칼럼 과 구조

728x90
반응형

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band