본문 바로가기
Database/Mysql

Mysql using 사용법

by 화곡공룡 2022. 8. 10.
반응형

mysql 에서 테이블간 join시 on 절을 이용하여 각각 테이블의 컬럼명을 명시하여 join 하지만

같은 컬럼명을 사용할 경우 using을 사용하여 작성할 수 있다.

 

두가지 방식의 차이점은

on은 각각의 컬럼명을 명시하기때문에 컬럼명이 달라도 상관없지만

using은 컬럼명이 같아야 한다. 다만 using을 사용함에 있어 조금 더 쿼리문을 간결하게 작성할수 있다.

 

ON 사용 예

root@localhost:(none) 14:00:54>use employees;
Database changed
root@localhost:employees 14:00:58>select de.*
    -> from dept_emp de
    ->   join dept_manager dm on de.emp_no = dm.emp_no and de.dept_no = dm.dept_no;
+--------+---------+------------+------------+
| emp_no | dept_no | from_date  | to_date    |
+--------+---------+------------+------------+
| 110022 | d001    | 1985-01-01 | 9999-01-01 |
| 110039 | d001    | 1986-04-12 | 9999-01-01 |
.
.
.
| 111534 | d008    | 1988-01-31 | 9999-01-01 |
| 111692 | d009    | 1985-01-01 | 9999-01-01 |
| 111784 | d009    | 1988-02-12 | 9999-01-01 |
| 111877 | d009    | 1991-08-17 | 9999-01-01 |
| 111939 | d009    | 1989-07-10 | 9999-01-01 |
+--------+---------+------------+------------+
24 rows in set (0.00 sec)

root@localhost:employees 14:00:59>

 

using 사용 예

root@localhost:employees 14:02:05>select de.* from dept_emp de
    -> join dept_manager using(emp_no,dept_no);
+--------+---------+------------+------------+
| emp_no | dept_no | from_date  | to_date    |
+--------+---------+------------+------------+
| 110022 | d001    | 1985-01-01 | 9999-01-01 |
| 110039 | d001    | 1986-04-12 | 9999-01-01 |
.
.
.
| 111534 | d008    | 1988-01-31 | 9999-01-01 |
| 111692 | d009    | 1985-01-01 | 9999-01-01 |
| 111784 | d009    | 1988-02-12 | 9999-01-01 |
| 111877 | d009    | 1991-08-17 | 9999-01-01 |
| 111939 | d009    | 1989-07-10 | 9999-01-01 |
+--------+---------+------------+------------+
24 rows in set (0.00 sec)
root@localhost:employees 14:02:05>
반응형

댓글