μΌμ νλ€ λ³΄λ©΄ μ¬λ¬ κ°μ ν μ΄λΈμ΄ κ³μΈ΅μ μΌλ‘ μ°κ²°λ ꡬ쑰λ₯Ό μμ£Ό μ νκ² λλ€.
μλ₯Ό λ€μ΄, νλμ ν μ΄λΈμμ λ€λ₯Έ ν μ΄λΈλ‘ μ΄μ΄μ§κ³ , κ·Έ ν μ΄λΈμμ λ λ€λ₯Έ ν μ΄λΈλ‘ μ΄μ΄μ§λ ꡬ쑰μΈλ°, μ΄λ₯Ό μ λλ‘ μ΄ν΄νκ³ λ°μ΄ν°λ₯Ό μΆμΆνλ λ°©λ²μ μ°Ύλ κ²μ΄ μ€μνλ€. (νμλ κ½€.. ν·κ°λ¦¬κ³ μ΄λ ΅λ€)
μ΅κ·Όμ μ΄λ¬ν κ³μΈ΅μ κ΄κ³λ₯Ό κ°μ§ ν μ΄λΈμ λ€λ£¨κ² λμκ³ , μ¬λ¬ ν μ΄λΈμ μ‘°μΈνλ λ°©λ²μ μμλ³΄κ² λμλ€.
1. λ¬Έμ μ μ
μ°λ¦¬κ° μμ£Ό λ§μ£Όνλ μν© μ€ νλλ μ¬λ¬ ν μ΄λΈμ΄ μλ‘ μ°κ²°λ ꡬ쑰μμ λ°μ΄ν°λ₯Ό μΆμΆν΄μΌ ν λμ΄λ€.
μλ₯Ό λ€μ΄, λμκ΄μ μ 보λ₯Ό λ΄κ³ μλ ν μ΄λΈ, κ·Έ λμκ΄ λ΄μ μκ°λ₯Ό λ΄κ³ μλ ν μ΄λΈ, κ·Έλ¦¬κ³ κ° μκ°μ μλ μ± μ 보λ₯Ό λ΄κ³ μλ ν μ΄λΈμ΄ μλ€κ³ κ°μ ν΄ λ³΄κ² λ€.
μ΄λ¬ν ꡬ쑰μμ, "νΉμ λμκ΄μ μλ λͺ¨λ μ± μ λͺ©λ‘μ κ°μ Έμ€κ³ μΆλ€"λ μꡬ μ¬νμ΄ μμ μ μλ€.
μ΄λ΄ λ νμν κ²μ΄ SQLμ JOIN λ¬Έλ²μ΄λ€.
2. ν μ΄λΈ μ€μ λ° κ΄κ³
μ°λ¦¬λ λμκ΄, μκ°, κ·Έλ¦¬κ³ μ± ν μ΄λΈμ μ¬μ©ν΄ μ΄λ₯Ό μ€λͺ ν μ μλ€.
κ° ν μ΄λΈμ μλ‘ κ³μΈ΅μ μΌλ‘ μ°κ²°λμ΄ μμΌλ©°, μλμ κ°μ΄ ꡬμ±λμ΄ μλ€:
- library ν μ΄λΈ: λμκ΄μ κΈ°λ³Έ μ 보
- shelf ν μ΄λΈ: κ° λμκ΄μ μλ μκ° μ 보
- book ν μ΄λΈ: κ° μκ°μ μν μ± μ 보
-- library ν
μ΄λΈ μμ
| library_id | library_name |
| ---------- | --------------- |
| 1 | κ΅λ¦½μ€μλμκ΄ |
| 2 | νκ΅λμκ΄ |
-- shelf ν
μ΄λΈ μμ
| shelf_id | library_id | shelf_name |
| -------- | ---------- | ---------- |
| 1 | 1 | Shelf A |
| 2 | 1 | Shelf B |
| 3 | 2 | Shelf C |
-- book ν
μ΄λΈ μμ
| book_id | shelf_id | book_title |
| ------- | -------- | ---------------- |
| 1 | 1 | Java Programming |
| 2 | 1 | Python Basics |
| 3 | 2 | Data Structures |
| 4 | 3 | Machine Learning |
μ΄ κ΅¬μ‘°μμ library ν μ΄λΈκ³Ό shelf ν μ΄λΈμ library_idλ₯Ό ν΅ν΄ μ°κ²°λκ³ , shelf ν μ΄λΈκ³Ό book ν μ΄λΈμ shelf_idλ₯Ό ν΅ν΄ μ°κ²°λλ€.
λμκ΄ IDκ° 1μΈ κ΅λ¦½μ€μλμκ΄μ μλ μ± λ€μ μ‘°ννλ €λ©΄, μΈ κ°μ ν μ΄λΈμ JOINν΄μΌ ν©λλ€.
μλμ κ°μ 쿼리λ₯Ό μ¬μ©ν μ μλ€.
SELECT book.book_title
FROM library
JOIN shelf ON library.library_id = shelf.library_id
JOIN book ON shelf.shelf_id = book.shelf_id
WHERE library.library_id = 1;
쿼리 μ€λͺ :
- 첫 λ²μ§Έ JOIN: library ν μ΄λΈκ³Ό shelf ν μ΄λΈμ library_idλ₯Ό κΈ°μ€μΌλ‘ μ‘°μΈνμ¬ λμκ΄μ μλ μκ° μ 보λ₯Ό κ°μ Έμ¨λ€.
- λ λ²μ§Έ JOIN: shelf ν μ΄λΈκ³Ό book ν μ΄λΈμ shelf_idλ₯Ό κΈ°μ€μΌλ‘ μ‘°μΈνμ¬ μκ°μ μν μ± μ 보λ₯Ό κ°μ Έμ¨λ€.
- 쑰건μ : WHERE library.library_id = 1μ ν΅ν΄ κ΅λ¦½μ€μλμκ΄μ μν μ± λ€λ§ μ‘°ννλ€.
μ€ν κ²°κ³Ό:
| book_title |
| ----------------- |
| Java Programming |
| Python Basics |
| Data Structures |
μμ κ°μ΄, μ¬λ¬ ν μ΄λΈμ΄ μλ‘ μ°κ²°λ ꡬ쑰μμλ JOINμ μ¬μ©νμ¬ λ°μ΄ν°λ₯Ό ν¨κ³Όμ μΌλ‘ μΆμΆν μ μλ€.!
'π³π°ππ°π±π°ππ΄' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
InfluxDB μ€μΉ μ 'invalid user: influxdb' μ€λ₯ ν΄κ²° λ°©λ² (0) | 2024.11.07 |
---|---|
Oracle Databaseμ tnsnames.ora νμΌ κ΅¬μ‘°μ μν μ΄ν΄νκΈ° (0) | 2024.11.03 |
[SQL] μ’μ 쿼리 μμ±λ² (0) | 2024.04.29 |
PostgreSQL μλμ° windowsμ μ€μΉ (0) | 2024.04.22 |
[SQL] LEFT JOINμ νμ©ν λλ½λ λ°μ΄ν° μ²λ¦¬νκΈ° (0) | 2024.04.19 |