ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [mysql] join,Aliases
    SQL/MySQL 2021. 7. 24. 23:30

    조인(join)

    create database studydb;
    
    use studydb;
    
    create table dept
    (
    no int primary key auto_increment,
    name varchar(20)
    );
    
    create table employee
    (
    no int primary key auto_increment,
    name varchar(20),
    dept_no int
    );
    
    insert into dept(name) values('A');
    insert into dept(name) values('B');
    insert into dept(name) values('C');
    insert into employee(name,dept_no) values('ga',2);
    insert into employee(name,dept_no) values('na',3);
    insert into employee(name,dept_no) values('da',3);
    insert into employee(name,dept_no) values('ba',2);
    insert into employee(name,dept_no) values('ma',2);
    insert into employee(name,dept_no) values('sa',null);

    1. EQUI JOIN = INNER JOIN - 동등조인

     

    select employee.no, employee.name, dept.name from employee, dept;
    -- 3행 x 5행 = 15행
    
    select employee.no, employee.name , dept.name from dept, employee where employee.dept_no = dept.no;
    -- 사원번호와 부서번호를 join, 이 값이 동등한 행을 하나로 엮어준다.

    + Aliases

    select e.no, e.name , d.name from dept d, employee e where e.dept_no = d.no;

    2. LEFT (OUTER) JOIN

     

    select e.no, e.name , d.name from dept d left join employee e where e.dept_no = d.no;

    3. RIGHT (OUTER) JOIN

    select e.no, e.name , d.name from dept d right join employee e where e.dept_no = d.no;

    4. FULL OUTER JOIN

    select employee.no, employee.name, dept.name from employee left join dept on dept.no = employee.dept_no
    union
    select employee.no, employee.name, dept.name from employee right join dept on dept.no = employee.dept_no;

    MySQL은 FULL OUTER JOIN을 지원하지 않는다.

    대신 같은 조건으로

    left join과 right join을 하고 union을 하면 된다.

    https://futurists.tistory.com/18

    'SQL > MySQL' 카테고리의 다른 글

    [mysql] if(),date(),Safe mode  (0) 2021.07.27
    [mysql] grant,user,index,view  (0) 2021.07.24
    [mysql] where,비교연산자,order by  (0) 2021.07.23
    [mysql] DDL,DML,제약조건  (0) 2021.07.23

    댓글

Designed by Tistory.