반응형
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>
반응형
'Database > Mysql' 카테고리의 다른 글
MySQL Workbench를 이용한 마이그레이션 (MS-SQL → MySQL) (0) | 2023.02.27 |
---|---|
Xtrabackup 설치 및 백업, 복구 방법 (0) | 2023.02.17 |
Mysql Fuction Based Index (함수기반인덱스) (0) | 2022.08.09 |
Mysql Table 속성 복제하기 (0) | 2022.08.09 |
Current charset is x-windows-949. If password has been set using other charset, consider using option 'passwordCharacterEncoding' (2) | 2022.06.29 |
댓글