πŸ“š 2024 04 26 [SQL κΈ°λ³Έμ •μ˜]

김필립·2024λ…„ 4μ›” 26일

SQL

λͺ©λ‘ 보기
4/10

[2024 / 04 / 26 였늘 λ„ˆλ¬΄ νž˜λ“€μ—ˆλ‹€. μ§‘μœΌλ‘œ λ‹­κ°€μŠ΄μ‚΄ 92개 μ‹œμΌœμ„œ κ·Έκ±° λ“€κ³  ν•™μ›μ˜΄
87KG β†’ 83.2 2μ£Όμ»· ν•œμž”ν•΄~]
πŸ‘ΆπŸ“—πŸ“˜πŸ“™πŸ“šπŸ“–πŸ“ƒπŸ“‚πŸ€”πŸŽ·βœπŸΌπŸ”’πŸ”“πŸ”πŸ”πŸ’ΎπŸ”‘πŸ“ƒπŸ“œπŸ“„πŸ“‘πŸ“°πŸ“‚πŸ“πŸΌπŸ”’


πŸ“šμ˜€μ „ μ—°μŠ΅λ¬Έμ œ 풀이


πŸ“šGroup By?


πŸ“š λ‘κ°œ μ΄μƒμ˜ ν…Œμ΄λΈ”μ—μ„œ SQL 질의

πŸ“™ 쑰인의 μ—­ν™œμ„ν•˜λŠ” 쿼리문

  • 이전과 κ°™μ§€λ§Œ Oder by [쑰건]으둜 인해 주문번호순으둜 μ •λ ¬λ˜μ—ˆλ‹€.

πŸ“™κ³ κ°μ˜ 이름과 고객이 μ£Όλ¬Έν•œ λ„μ„œμ˜ νŒλ§€κ°€κ²©μ„ κ²€μƒ‰ν•˜μ‹œμ˜€

  • ν˜„μ—…μ—μ„œλŠ” λ™μΌν•œμ΄λ¦„μ΄μ§€λ§Œ ν…Œμ΄λΈ”μ΄ λ‹€λ₯Όλ•Œλ§ˆλ‹€ 적어쀀닀. [정석은 λͺ¨λ‘ μ μ–΄μ€Œ]

πŸ“–κ³ κ°λ³„λ‘œ νŒλ§€μ•‘μ„ κ΅¬ν•˜κ³  μ •λ ¬ν•΄μ£Όμ„Έμš”!

  • GROUP BYλ₯Ό μ‚¬μš©ν•˜λ €λ©΄ SELECTμ—μ„œ μ“΄ μ†μ„±λ§Œ μ‚¬μš©κ°€λŠ₯ (ex.nameλ“±)
  • order by = ~λ³„λ‘œ μ •λ ¬
  • group by = κ·Έλ£Ήλ³„λ‘œ μ •λ ¬~

✍ 쑰인

  • 보톡 κ²ΉμΉ˜λŠ” PKκ°€ μ—†λ‹€λ©΄ 쀑간에 μ—°κ²°λ˜μ–΄μ•Όν•˜λŠ” λ¦΄λ ˆμ΄μ…˜μ΄ μžˆμ–΄μ•Όν•œλ‹€.
    + 고객 β†’ μ£Όλ¬Έ ← μ±… [연결을 ν•΄μ€˜μ•Ό ν•˜κΈ°λ•Œλ¬Έμ— 주문이 ν•„μš”ν•˜λ‹€. 총 μ„Έκ°œλ₯Ό γ…“μ•Όν•œλ‹€.]

✍고객의 이름,고객이 μ£Όλ¬Έν•œ λ„μ„œμ˜ 이름 κ΅¬ν•˜μ‹œμ˜€

✍ 외뢀쑰인?[아웃터 쑰인]

  • μΌμΉ˜ν•˜λŠ” ν–‰ 뿐만 μ•„λ‹ˆλΌ ν•œμͺ½ λ¦΄λ ˆμ΄μ…˜ λ˜λŠ” λͺ¨λ“  λ¦΄λ ˆμ΄μ…˜μ˜ 행을 λ‹€ 포함
    • 였λ₯Έμͺ½,μ™Όμͺ½,λ‘˜λ‹€ 선택가λŠ₯

βœλ‚΄λΆ€μ‘°μΈ [μ΄λ„ˆμ‘°μΈ]

  • λ‘κ°œμ˜ λ¦΄λ ˆμ΄μ…˜μ—μ„œ κ³΅ν†΅λœκ±Έ κ²°ν•©μ‹œν‚€λŠ” 것을 λ‚΄λΆ€μ‘°μΈμ΄λΌκ³ ν•œλ‹€.
    • 두 λ¦΄λ ˆμ΄μ…˜μ— λŒ€ν•΄ μΌμΉ˜ν•˜λŠ” 쑰인쑰건을 κ°€μ§„ ν–‰λ§Œ 선택


πŸ“™ 외뢀쑰인

  • λ„μ„œλ₯Ό κ΅¬λ§€ν•˜μ§€ μ•Šμ•„λ„ μš°λ¦¬κ³ κ°μ΄μ•Ό. κ·Έλ ‡κΈ°λ•Œλ¬Έμ— leftλ₯Ό μ„ νƒν•˜μ—¬ customrλ₯Ό λͺ¨λ‘ λ³΄μ—¬μ£ΌλŠ” 것

πŸ“ƒ 쑰인 문법

  • ✍ 내뢀쑰인
  • μœ„ μ•„λž˜ λͺ¨λ‘ 같은 λ§μ΄μ§€λ§Œ form <쑰인쑰건>의 차이점이 μžˆλ‹€.
  • ✍ 내뢀쑰인

πŸ“ƒμ΄μΉœκ΅¬λ“€μ˜ 짝ꢁ INNER JOIN / ON

+ {LEFT γ…£ RIGHT γ…£ FULL[OUTER]} JOIN / ON 

πŸ“™ λΆ€μ†μ§ˆμ˜[μ„œλΈŒμΏΌλ¦¬]

πŸ€” λΆ€μ†μ§ˆμ˜λž€?

  • μ£Ό 쿼리에 μ†ν•΄μžˆλŠ” λΆ€ 쿼리 [클래슀 처럼 [λΆ€λͺ¨,μžμ‹ γ…£ 패런츠 , μ°¨μΌλ“œ ]

✍ λΆ€μ†μ§ˆμ˜μ˜ 예제

  • λ„μ„œλ₯Ό κ΅¬λ§€ν•œ 적이 μžˆλŠ” 고객의 이름 [λ¦΄λ ˆμ΄μ…˜μ΄ λ‘κ°œ]
  • λŒ€ν•œ λ―Έλ””μ–΄μ—μ„œ μΆœνŒν•œ λ„μ„œλ₯Ό κ΅¬λ§€ν•œ 고객의 이름을 λ³΄μ΄μ‹œμ˜€.[λ¦΄λ ˆμ΄μ…˜ μ„Έκ°œ]

πŸ€” 쿼리가 μ½λŠ” μˆœμ„œ [ FROM β†’ WHERE β†’ SELECT ]

κ°„λ‹¨ν•œ 쑰건 [μ„œλΈŒμΏΌλ¦¬] λ‹€μ–‘ν•œ 쑰건[쑰인]


πŸ€” 상관 λΆ€μ†μ§ˆμ˜?

  • 같은 ν…Œμ΄λΈ”μ„ μ²˜λ¦¬ν•˜λŠ”κ²Œ λ‘κ°œκ°€ λ“€μ–΄μžˆμŒ = μƒκ΄€λΆ€μ†μ§ˆμ˜

πŸ“™ 상관 λΆ€μ†μ§ˆμ˜ ν…Œμ΄λΈ” ν‘œ


✍ μ§‘ν•©μ—°μ‚°[잘 μ‚¬μš©ν•˜μ§€μ•ŠμŒ]

  • ν•©μ§‘ν•©
    • UNION
  • ꡐ집합
    • INTERSECT

πŸ“™ 질의문 [μ§‘ν•©μ—°μ‚°]

πŸ“™ EXISTS

  • μ›λž˜ λ‹¨μ–΄μ—μ„œ μ˜λ―Έν•˜λŠ” 것과 같이 쑰건에 λ§žλŠ” νŠœν”Œμ΄ μ‘΄μž¬ν•˜λ©΄ 결과에 ν¬ν•¨μ‹œν‚΄

✍ 질의[EXISTS]

profile
기얡에 λ‚¨λŠ” μ‚¬λžŒμž…λ‹ˆλ‹€

0개의 λŒ“κΈ€