Works/SQL
[MySQL] INNER JOIN
Uncle.GOM
2020. 5. 16. 11:12
SELECT INNER JOIN - version 3.23 이상
SELECT 조회할 칼럼
FROM 기준이 될 테이블 A
INNER JOIN 조인할 테이블 B ON A.칼럼 = B.칼럼
INNER JOIN 조인할 테이블 C ON A.칼럼 = C.칼럼
WHERE 조건문
예시)
테이블 A
user_no | user_id | age | city |
1 | dolpin29 | 37 | Seoul |
2 | johndoe | 26 | Daejeon |
3 | janedoe | 19 | Daegu |
4 | youinsideme | 22 | Busan |
테이블 B
char_no | user_no | char_name | cha_class |
202 | 1 | Dolpin | Barbarian |
203 | 3 | Nuguri | Monk |
205 | 2 | FORTUNA | Crusader |
207 | 4 | RomeoK | Necromancer |
SELECT a.user_no, a.user_id, b.char_name, b.cha_class
FROM A INNER JOIN B
ON a.user_no = b.user_no
WHERE a.age > 20
결과
user_no | user_id | char_name | cha_class |
1 | dolpin29 | Dolpin | Barbarian |
2 | johndoe | FORTUNA | Crusader |
4 | youinsideme | RomeoK | Necromancer |
UPDATE INNER JOIN - version 4.04 이상
UPDATE 업데이트 대상 테이블 A INNER JOIN 조인할 테이블 B
ON A.칼럼 = B.칼럼
SET A.업데이트 대상 칼럼1 = B.변경할 값을 가진 칼럼1,
A.업데이트 대상 칼럼2 = B.변경할 값을 가진 칼럼2
WHERE 조건문
예시)
UPDATE admin.tb_admin_character a INNER JOIN admin.tb_login_user b
ON a.char_nick = b.char_nick
SET a.reg_date = b.reg_date,
a.logout_date = b.logout_date
WHERE a.use_yn = 'y'