MySQL - JOIN

2022. 4. 12. 17:26·STUDY/DATABASE
반응형
JOIN ? 
    여러 테이블의 데이터를 함께 출력할 때 사용
    여러 테이블에서 공통된 데이터가 저장된 컬럼을 찾아서 조인 구문을 작성해야 함.
    모호한 컬럼명 앞에는 반드시 테이블 명이나 테이블 ALIAS명을 접두어로 붙여야 함.
    한쪽 테이블에만 있는 유일한 컬럼명앞에는 테이블명이나 테이블 alias 명이 필수는 아니나,  권장사항

 

예제1. employees 테이블과 departments 테이블을 조인해서 사번, 이름, 급여, 부서이름을 출력하는 구문을 작성하시오.

   >> employees 테이블과 dapartments 테이블이 공통으로 가지고 있는 department_id를 기준으로 조인

 

예제2. employees 테이블과 departments 테이블을 조인해서 사번, 이름, 급여, 부서번호, 부서이름을 출력하는 구문을 작성하시오.

    >> department_id 컬럼은 두 테이블에 동일하게 존재하므로 테이블명을 접두어로 붙여줘야 함.

    >> 두 테이블이 department_id 컬럼을 기준으로 조인

 

예제3. employees 테이블과 departments 테이블을 조인해서 사번, 이름, 매니저번호, 급여, 부서번호, 부서이름을 출력하시오.

    >> manager_id컬럼과 department_id 컬럼은 두 테이블에 동일하게 존재하므로 테이블명을 접두어로 붙여줘야 함.

    >> 두 테이블이 department_id 컬럼을 기준으로 조인

 

예제4. departments 테이블과 locations 테이블을 조인해서 부서번호, 부서이름, 도시번호, 도시명을 출력하시오.

    >> location_id컬럼은 두 테이블에 동일하게 존재하므로 테이블명을 접두어로 붙여줘야 함.

    >> 두 테이블이 location_id 컬럼을 기준으로 조인

 

 

예제5. 성능 개선을 위해서 from절에 테이블 alias를 선언하여 컬럼명 앞에 테이블 alias를 붙여준다.

 

예제 6. employees 테이블과 departments 테이블을 조인해서 사번, 이름, 급여, 부서번호, 부서이름을 출력하되 80번 부서에 소속된 사원만 출력하시오.

N개의 테이블 JOIN
   테이블 개수 | 조인 조건 수
           2       |       1
           3       |       2
           N      |       N-1

 

예제7. employees, departments, locations 테이블을 조인해서 직원 정보, 부서 정보, 위치 정보를 함께 출력하시오.

    >> emloyees와 departments 테이블은 department_id 컬럼을,

         departments와 locations 테이블은 location_id 컬럼을 기준으로 조인

 

Self JOIN ? 
    하나의 테이블을 마치 다른 테이블인 듯 테이블 alias를 달리 부여하여 자기 자신 테이블과 조인하는 유형

 

예제8. 직원의 사번, 직원의 이름, 직원의 급여, 매니저 이름을 출력하는 구문을 작성하시오.

    >> e2.last_name 은 e1.manager_id 의 last_name

    >> employee_id 101 kochhar의 manager_id는 100

    >> 100번의 last_name 은 king

 

equi join VS non-equi join ?
    equi JOIN : 조인 조건문에 동등연산자(=)를 사용한 조인 유형
    non-equi JOIN : 조인조건문에 동등연산자가 아닌 그 외 다른 비교 연산자를 사용한 조인 유형
inner JOIN VS outer JOIN ?
    inner : 조인 조건을 만족하는 행만 반환하는 조인 유형
    outer : 조인조건을 만족하는 행은 물론이고 조인조건을 만족하지 않는 행까지 반환하는 조인 유형

left outer join : 조인조건을 만족하지 않는 왼쪽 테이블의 행을 반환 해주는 조인 유형
right outer join : 조인조건을 만족하지 않는 오른쪽 테이블의 행을 반환 해주는 조인 유형
full outer join : 조인조건을 만족하지 않는 양쪽 테이블의 행을 모두 반환 해주는 조인 유형
반응형
저작자표시 (새창열림)

'STUDY > DATABASE' 카테고리의 다른 글

MYSQL - DML_데이터 삭제(delete)  (1) 2022.05.02
MySQL - 단일 행 함수(문자함수)  (0) 2022.04.15
MySQL - ERD 만들기  (1) 2022.04.12
MySQL 문법  (0) 2022.04.12
MySQL 데이터 조회(SELECT)  (0) 2022.04.11
'STUDY/DATABASE' 카테고리의 다른 글
  • MYSQL - DML_데이터 삭제(delete)
  • MySQL - 단일 행 함수(문자함수)
  • MySQL - ERD 만들기
  • MySQL 문법
3unB
3unB
  • 3unB
    ILLILI
    3unB
  • 전체
    오늘
    어제
    • 분류 전체보기 (153)
      • STUDY (109)
        • JAVA (31)
        • SPRING (29)
        • JSP (11)
        • DATABASE (19)
        • HTML (0)
        • CSS (4)
        • GITHUB (2)
        • ETC (5)
        • 자격증 (1)
        • ERROR (6)
      • PROJECT (6)
        • Personal_Project 01 - commu.. (1)
        • TeamProject - JOINUS (4)
      • EUNB (30)
        • 맛집 (27)
        • 여행 (3)
        • 전세사기 (0)
      • 오블완챌린지 ++ (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 짱민지
    • 아랄이
  • 공지사항

  • 인기 글

  • 태그

    전포 신상 맛집
    망미 조용한 카페
    oracle
    콩콩팥팥 맛집
    속초 해변 숙소
    오블완
    전포 데이트
    배열 한 컬럼에 넣기
    서면 설야멱
    전포 오꼬노미야끼
    전포동 핫플
    alter
    인제 두부
    망미 카페
    망미 바
    인제 고향집
    콩콩팥팥 두부
    티스토리챌린지
    전포동 카페
    서면 맛집
    전포 맛집
    mysql
    속초 숙소 내돈내산
    망미 테린느
    센텀 신세계백화점 팝업
    전포동 맛집
    Database
    전포 연어덮밥
    속초 중앙시장 감자전
    전포 밥집
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.0
3unB
MySQL - JOIN
상단으로

티스토리툴바