[Oracle] - 내부 연결, 외부 연결

어떤 업무 가 복잡 할 때 데이터 층 에서 몇 장의 데이터 시트 와 연 결 된 상황 과 관련 되 고 최근 에 도 업무 중 에 이 부분의 내용 을 자주 만 날 수 있 기 때문에 이에 대해 정리 해 보 겠 습 니 다.
건표문
CREATE TABLE userser(NAME VARCHAR(20),sex VARCHAR(20));
INSERT INTO userer values ('  ',' ');
INSERT INTO userser values ('  ',' ');
INSERT INTO userser values ('  ',' ');
INSERT INTO userser values ('  ',' ');
CREATE TABLE student(NAME VARCHAR(20),sex VARCHAR(20));
INSERT INTO students values ('  ',' ');
INSERT INTO students values ('  ',' ');
INSERT INTO students VALUES ('  ',' ');
INSERT INTO students VALUES ('  ',' ');

내부 연결 inner join
            
대표 적 인 데 이 터 를 조회 한 후에 결 과 는 두 장의 표 에 있 는 데 이 터 를 선별 하 는 것 이다. 예 를 들 어 표 작성 문 에 따라 표 userser 와 student 의 이름 이 같은 데 이 터 를 선별 하 는 것 이다.
SELECT u.name     ,u.sex     ,stu.name     ,stu.sex      FROM u inner JOIN students stu ON u.name = stu.name

외부 연결 out join
1、left join
                    
왼쪽 표 의 데 이 터 를 위주 로 하고 오른쪽 표 가 없 으 면 조회 데이터 가 비어 있 습 니 다.
SELECT u.name     ,u.sex     ,stu.name     ,stu.sex      FROM students stu left JOIN userer  u ON u.name = stu.name

      
2、right join
           
왼쪽 연결 과 기본적으로 일치 하지만 오른쪽 표 위주 에 불과 하 다.
SELECT u.name     ,u.sex     ,stu.name     ,stu.sex      FROM students stu right JOIN userer  u ON u.name = stu.name
    
3、full join
    
   사실은 왼쪽 연결 과 오른쪽 연결 의 집합 으로 연결 과정 에서 존재 하지 않 는 데이터 가 비어 있 습 니 다.
SELECT u.name     ,u.sex     ,stu.name     ,stu.sex      FROM students stu full JOIN userer  u ON u.name = stu.name
    
내외 연결 중 on 과 where 의 차이
1. inner join... on 과 where
   하나 도 다 르 지 않다.
SELECT u.name     ,u.sex     ,stu.name     ,stu.sex      FROM students stu ,userer u WHERE u.name = stu.name

inner join... on 은 where 구문 과 일치 합 니 다.
2. 외부 연결 중 on 과 where 의 차이
SELECT u.name     ,u.sex     ,stu.name     ,stu.sex      FROM students stu LEFT JOIN userer  u ON u.name = stu.name WHERE u.sex=' ';

SELECT u.name     ,u.sex     ,stu.name     ,stu.sex      FROM students stu LEFT JOIN userer  u ON u.name = stu.name and u.sex=' '

원인:
1. on 조건 은 임시 표를 만 들 때 사용 하 는 조건 으로 on 의 조건 이 진실 이 든 아니 든 왼쪽 표 의 기록 을 되 돌려 줍 니 다.
2. where 조건 은 임시 표 가 생 성 된 후에 임시 표를 걸 러 내 는 조건 입 니 다.이 때 는 left join 의 의미 가 없습니다.
총결산
    데이터베이스 분야 의 지식 은 반드시 많이 써 야 운용 에 익숙해 질 수 있다.계속 공부 하 다.

좋은 웹페이지 즐겨찾기