Skip to content

Latest commit

Β 

History

History
36 lines (22 loc) Β· 2.17 KB

File metadata and controls

36 lines (22 loc) Β· 2.17 KB

Join μ—°μ‚°

Natural Join

  • Natural Join은 두 ν…Œμ΄λΈ”μ—μ„œ κ³΅ν†΅λœ 속성을 μ°Ύμ•„ ν•„λ“œ 값이 같은 νŠœν”Œμ„ ν•©μ³μ„œ ν•˜λ‚˜μ˜ ν…Œμ΄λΈ”λ‘œ λ§Œλ“€μ–΄μ€λ‹ˆλ‹€. Natural Join 은 λ™μΌν•œ μžλ™μœΌλ‘œ κ³΅ν†΅λ˜λŠ” 속성을 μ°ΎκΈ° λ•Œλ¬Έμ— 두 ν…Œμ΄λΈ”μ˜ 도메인, 속성값, ν•„λ“œκ°’μ΄ κ°™μ•„μ•Ό ν•œλ‹€λŠ” 쑰건이 μžˆμŠ΅λ‹ˆλ‹€.

Inner Join

  • Inner Join 은 두 ν…Œμ΄λΈ” 사이에 κ³΅ν†΅λœ 속성을 μ°Ύμ•„ ν•„λ“œ 값이 같은 νŠœν”Œμ„ ν•©μ³μ„œ ν•˜λ‚˜μ˜ ν…Œμ΄λΈ”λ‘œ λ§Œλ“­λ‹ˆλ‹€. μ΄λ•Œ Join 에 λŒ€ν•œ 쑰건을 직접 μ§€μ •ν•΄μ£Όμ–΄μ„œ μ§€μ •λœ 속성과 속성값을 κΈ°μ€€μœΌλ‘œ ν…Œμ΄λΈ”μ„ ν•©μΉ˜κ²Œ λ©λ‹ˆλ‹€.

Natural Join κ³Ό Inner Join 의 차이λ₯Ό λ§ν•΄λ³΄μ„Έμš”.

  • Inner Join 은 λ™μΌν•œ 속성을 두 ν…Œμ΄λΈ”μ˜ 각각 μ†ν•œ λ³„κ°œμ˜ μ†μ„±μœΌλ‘œ ν‘œμ‹œν•˜λŠ” λ°˜λ©΄μ— Natural Join 은 ν•˜λ‚˜μ˜ μ†μ„±μœΌλ‘œ μ²˜λ¦¬ν•©λ‹ˆλ‹€.
# Inner Join
| table1.name | table2.name |

# Natural Join
| name |

Outer Join

  • Outer Join 은 두 ν…Œμ΄λΈ”μ„ λ™μΌν•œ 속성과 속성값을 κΈ°μ€€μœΌλ‘œ ν•©μΉ˜μ§€λ§Œ μ–‘ ν…Œμ΄λΈ”μ— λ™μΌν•œ 값이 μ—†λŠ” νŠœν”Œλ„ ν•¨κ»˜ ν•©μ³μ€λ‹ˆλ‹€. μ΄λ•Œ 값이 μ—†λŠ” ν•„λ“œλŠ” NULL 둜 ν‘œμ‹œν•©λ‹ˆλ‹€.

Outer Join μ—λŠ” μ–΄λ–€ μ’…λ₯˜κ°€ μžˆμ–΄μš”?

  • Left Join, Right Join, Full Join 이 μžˆμŠ΅λ‹ˆλ‹€.
  • Left Join 은 μ™Όμͺ½ ν…Œμ΄λΈ”μ— μžˆλŠ” 데이터λ₯Ό λͺ¨λ‘ 읽은 λ’€ 쒌츑 ν…Œμ΄λΈ”μ„ 읽으며 κ³΅ν†΅λœ 속성과 속성값을 가진 νŠœν”Œμ„ μ°ΎμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ μ™Όμͺ½ ν…Œμ΄λΈ”μ—λŠ” μ‘΄μž¬ν•˜μ§€ μ•Šμ§€λ§Œ 였λ₯Έμͺ½ ν…Œμ΄λΈ”μ— μ‘΄μž¬ν•˜λŠ” νŠœν”Œμ€ μ œμ™Έλ©λ‹ˆλ‹€.
  • Right Join 은 λ°˜λŒ€λ‘œ 였λ₯Έμͺ½ ν…Œμ΄λΈ”μ„ λ¨Όμ € 읽기 λ•Œλ¬Έμ— 였λ₯Έμͺ½ ν…Œμ΄λΈ”μ— μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” 속성값을 가진 νŠœν”Œμ€ μ™Όμͺ½ ν…Œμ΄λΈ”μ—μ„œ ν•©μΉ  λ•Œ μ œμ™Έλ©λ‹ˆλ‹€.
  • Full Join 은 두 ν…Œμ΄λΈ”μ˜ λͺ¨λ“  νŠœν”Œμ„ ν•©μ³μ€λ‹ˆλ‹€. λ”°λΌμ„œ μ„œλ‘œ κ²ΉμΉ˜μ§€ μ•ŠλŠ” νŠœν”Œλ„ μ œμ™Έλ˜μ§€ μ•Šκ³  λͺ¨λ‘ ν¬ν•¨λ©λ‹ˆλ‹€.

MySQL μ—μ„œλŠ” Full Join 을 μ–΄λ–»κ²Œ κ΅¬ν˜„ν•˜λŠ”μ§€ μ•Œμ•„μš”?

  • MySQL μ—μ„œλŠ” Full Join 을 μ§€μ›ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— 두 ν…Œμ΄λΈ”μ„ 각각 left join, right join ν•˜κ³  UNION 으둜 합쳐주어야 ν•©λ‹ˆλ‹€.