λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
WORK/SQL 101

[SQL 101] SQL 곡뢀λ₯Ό μ‹œμž‘ν•˜κΈ° 전에

by 브둜페 2023. 3. 5.

 

πŸ’‘ 데이터 기반의 μΌν•˜λŠ” 방식 ν˜μ‹ μ΄ μΌμ–΄λ‚˜λ©΄μ„œ 데이터 뢄석에 λŒ€ν•œ μ€‘μš”μ„±μ΄ λΆ€κ°λ˜κ³  μžˆλ‹€. ν•˜μ§€λ§Œ λŒ€λΆ€λΆ„μ˜ 직μž₯인듀은 아직 μ—‘μ…€μ΄λΌλŠ” ν•œμ •μ μΈ νˆ΄μ— κ°‡ν˜€ μžˆλ‹€. SQL을 배우면 λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ λΉ λ₯΄κ³  μ •ν™•ν•˜κ²Œ ν•„μš”ν•œ 정보λ₯Ό μΆ”μΆœν•˜μ—¬ λ‹€λ£° 수 μžˆλ‹€. SQL이 μ™œ ν•„μš”ν•œμ§€, μ–΄λ–»κ²Œ 배우면 쒋을지 κ°„λ‹¨νžˆ μ•Œμ•„λ³΄λ„λ‘ ν•˜μž.

 

 

  • 데이터 기반 μΌν•˜λŠ” λ°©μ‹μ˜ ν˜μ‹ 
  • λΉ…λ°μ΄ν„°μ—λŠ” 엑셀보닀 SQL
  • SQL은 생각보닀 어렡지 μ•Šλ‹€
  • <SQL 101>에 λŒ€ν•˜μ—¬

 

 

데이터 기반 μΌν•˜λŠ” λ°©μ‹μ˜ ν˜μ‹ 

2010λ…„λŒ€ ν›„λ°˜λΆ€ν„° λŒ€κΈ°μ—…, 쀑견기업, μ€‘μ†ŒκΈ°μ—…, μŠ€νƒ€νŠΈμ—…μ„ λ§‰λ‘ ν•˜κ³  “데이터에 κΈ°λ°˜ν•œ μΌν•˜λŠ” λ°©μ‹μ˜ ν˜μ‹ ”같은 문ꡬ듀이 λ“±μž₯ν•˜κ³  μžˆλ‹€. 기쑴의 감으둜 μΌν•˜λŠ” 방식, 상λͺ…ν•˜λ³΅μ˜ 수직적 μ˜μ‚¬κ²°μ • κ΅¬μ‘°μ—μ„œ λ²—μ–΄λ‚˜ 숫자 기반, 데이터에 κΈ°λ°˜ν•œ μ˜μ‚¬κ²°μ •μ„ ν† λŒ€λ‘œ μΌν•˜λŠ” 방식을 λ³€κ²½ν•˜μžλŠ” 것이닀. μ•„λ§ˆλ„ νƒœμƒλΆ€ν„° 데이터와 μˆ«μžμ— κΈ°λ°˜ν•˜μ—¬ λΉ„μ¦ˆλ‹ˆμŠ€λ₯Ό μš΄μ˜ν•˜λ˜ ν…Œν¬ κΈ°μ—…λ“€μ˜ 약진에 λ”°λ₯Έ κ²ƒμΌν…Œλ‹€.

“데이터λ₯Ό 기반으둜 μΌν•œλ‹€”κ³  ν–ˆμ„ λ•Œ, λŒ€λΆ€λΆ„μ€ 엑셀을 ν™œμš©ν•˜μ—¬ ν”Όλ²— ν…Œμ΄λΈ”μ„ 돌리고, ν‘œλ₯Ό 예쁘게 μ •λ¦¬ν•˜λŠ” λ“±μ˜ 업무 방식을 λ– μ˜¬λ¦΄ 것이닀. λ¬Όλ‘  μ—‘μ…€(μŠ€ν”„λ ˆλ“œμ‹œνŠΈ)은 μ—¬μ „νžˆ μ—„μ²­λ‚˜κ²Œ μœ μš©ν•œ 데이터 핸듀링 툴이고, 정말 잘 ν™œμš©ν•œλ‹€λ©΄ κ·Έ μ–΄λŠ νˆ΄λ³΄λ‹€λ„ 만λŠ₯인 도ꡬ닀. λ‚΄κ°€ 데이터 뢄석을 처음 μ‹œμž‘ν•˜λ©΄μ„œ μ—¬λŸ¬ νˆ΄μ„ 배우고 μžˆμ„ λ•Œλ„, “크지 μ•Šμ€ 데이터에 λŒ€ν•œ 뢄석은 엑셀이 제일 μ’‹λ‹€”λŠ” 말이 νŒ€μ›λ“€ 사이에 μžˆμ—ˆμ„ μ •λ„λ‹ˆκΉŒ.

ν•˜μ§€λ§Œ 데이터λ₯Ό λ‹€λ£¨λŠ” μ„Έκ³„μ—μ„œλŠ” 정말 μ—„μ²­λ‚œ 툴과 언어듀이 λ§Žλ‹€. 그리고 특히 λŒ€ν˜• 데이터(일λͺ… 빅데이터)λ₯Ό μ²˜λ¦¬ν•΄μ•Ό ν•˜λŠ” μž…μž₯μ—μ„œλŠ”, 엑셀보닀 이 νˆ΄λ“€μ„ μ΄μš©ν•˜λŠ” 것이 ν•„μˆ˜κ°€ 되고 μžˆλ‹€. μ΄λŠ” 엑셀이 λ‹€λ£° 수 μžˆλŠ” 데이터가 μ΅œλŒ€ 2^10개, 즉 1,048,576행밖에 μ—†κΈ° λ•Œλ¬Έμ΄λ‹€. λ¬Όλ‘  μ—¬λŸ¬κ°€μ§€ λ°©λ²•μœΌλ‘œ 100만 ν–‰ μ΄μƒμ˜ 데이터λ₯Ό μ—‘μ…€μ—μ„œ λ‹€λ£¨λŠ” 방법이 μ‚¬μš©λ˜κ³  μžˆμœΌλ‚˜, λ‹€λ₯Έ 툴이 μžˆλŠ” μƒν™©μ—μ„œ ꡳ이 엑셀을 μ‚¬μš©ν•΄μ•Ό ν•˜λŠ”μ§€μ— λŒ€ν•œ 의문이 λ‚¨μ•„μžˆλ‹€.

 

λΉ…λ°μ΄ν„°μ—λŠ” 엑셀보닀 SQL

빅데이터λ₯Ό 업무에 ν™œμš©ν•˜κ³ μž ν•œλ‹€λ©΄, μ—‘μ…€ 외에 이 λŒ€μš©λŸ‰μ˜ 데이터λ₯Ό λ‹€λ£° 수 μžˆλŠ” λ‹€λ₯Έ νˆ΄μ„ μ΅νžˆλŠ” 것이 ν•„μš”ν•˜λ‹€. κ·Έ 쀑 κ°€μž₯ μ „λ°©μœ„λ‘œ ν™œμš©ν•  수 μžˆμœΌλ©΄μ„œλ„ κ°€μž₯ 어렡지 μ•Šκ²Œ 배울 수 μžˆλŠ” μ–Έμ–΄κ°€ λ°”λ‘œ SQL(Structured Query Language)이닀. SQL은 κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€ 관리 μ‹œμŠ€ν…œ(RDBMS)μ—μ„œ 데이터λ₯Ό κ΄€λ¦¬ν•˜κ³  μ‘°μž‘ν•˜λŠ” 데 μ‚¬μš©λ˜λŠ” ν‘œμ€€ 언어이며, 이 SQL을 잘만 ν™œμš©ν•˜λ©΄ νšŒμ‚¬μ˜ λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ μ›ν•˜λŠ” 데이터λ₯Ό λΉ λ₯΄κ³  μ •ν™•ν•˜κ²Œ μΆ”μΆœν•˜μ—¬ ν•„μš”ν•œ 정보λ₯Ό 얻을 수 μžˆλ‹€.

일반적으둜 업무에 데이터λ₯Ό ν™œμš©ν•  λ•Œ, SQL을 λͺ¨λ₯΄λ©΄ νšŒμ‚¬μ˜ 업무 μ‹œμŠ€ν…œμ—μ„œ μ—‘μ…€ ν˜•νƒœλ‘œ 된 데이터λ₯Ό λ‹€μš΄λ‘œλ“œ λ°›μ•„ μ‚¬μš©ν•΄μ•Ό ν•œλ‹€. 이런 방식은 λŒ€μš©λŸ‰μ˜ 데이터λ₯Ό λ‹€λ£° λ•Œ κ·Έ ν•œκ³„κ°€ λͺ…ν™•ν•œλ°, ν•œ 번 λ‹€μš΄λ‘œλ“œ 받을 λ•Œ μ΅œμ†Œ μˆ˜μ‹­ λΆ„μ—μ„œ 수 μ‹œκ°„μ΄ κ±Έλ¦¬λŠ” κ²½μš°λ„ 있고, κ·Έλ ‡κ²Œ 데이터λ₯Ό λ°›μ•„λ΄€μž μˆ˜μ •, μ €μž₯ ν›„ λ°°ν¬ν•˜λŠ” 데 κΉŒμ§€ 또 수 μ‹œκ°„μ΄ μ†Œμš”λœλ‹€. λ¨Έλ¦Ώμ†μ—μ„œλŠ” κ·Έλ ‡κ²Œ λ³΅μž‘ν•˜μ§€ μ•Šμ€ 일듀이, μ—‘μ…€μ—μ„œλŠ” ν•˜λ£¨ 쒅일 κ±Έλ¦¬λŠ” μ…ˆμ΄λ‹€.

SQL을 λ°°μ›Œλ‘λ©΄ νšŒμ‚¬ 업무 μ‹œμŠ€ν…œμ˜ 기반이 λ˜λŠ” λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ 직접 데이터λ₯Ό 쉽고 λΉ λ₯΄κ²Œ 필터링, μ •λ ¬, κ·Έλ£Ήν™”, μ—°κ²°, μˆ˜μ •, μ‚­μ œ λ“±μ˜ μž‘μ—…μ„ ν•  수 μžˆλ‹€. λͺ¨λ“  데이터가 μ‹œμŠ€ν…œμ΄ μ•„λ‹Œ κ·Έ 이면에 μžˆλŠ” λ°μ΄ν„°λ² μ΄μŠ€μ— μ €μž₯λ˜λŠ”λ°, 이곳에 직접 μ ‘κ·Όν•˜μ—¬ ν•„μš”ν•œ 정보λ₯Ό λΉ λ₯΄κ²Œ 검색할 수 있고, λ°μ΄ν„°μ˜ μœ νš¨μ„±κ³Ό 일관성을 μœ μ§€ν•  수 μžˆλ‹€. 이렇기 λ•Œλ¬Έμ— SQL은 데이터 뢄석, λ³΄κ³ μ„œ μž‘μ„±, λΉ„μ¦ˆλ‹ˆμŠ€ μΈν…”λ¦¬μ „μŠ€(BI) λ“± λ‹€μ–‘ν•œ λΆ„μ•Όμ—μ„œ ν™œμš©λœλ‹€.

 

SQL은 생각보닀 어렡지 μ•Šλ‹€

ν•˜μ§€λ§Œ 막상 SQL을 λ°°μ›Œμ•Ό ν•œλ‹€κ³  ν•˜λ©΄ μ–΄λ ΅κ²Œ λŠκ»΄μ§€λŠ” κ²½μš°κ°€ λ§Žλ‹€. ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ˜ ν˜•νƒœλ₯Ό 띄고 있고, 무엇보닀 어렸을 λ•ŒλΆ€ν„° λ‹€λ€„μ˜¨ μ—‘μ…€κ³ΌλŠ” λ‹€λ₯΄κ²Œ μ™„μ „νžˆ μƒˆλ‘­κ²Œ μ ‘ν•˜λŠ” κ²½μš°κ°€ λŒ€λΆ€λΆ„μ΄κΈ° λ•Œλ¬Έμ΄λ‹€. κ·Έλž˜μ„œ λ§Žμ€ νšŒμ‚¬μ—μ„œλŠ” 이 SQL을 μ „λ¬Έμ μœΌλ‘œ λ‹€λ£¨λŠ” 데이터 뢄석가λ₯Ό μ±„μš©ν•΄μ„œ 업무λ₯Ό λ§‘κΈ°κ³ λŠ” ν•œλ‹€. ν•˜μ§€λ§Œ 뢄석할 일이 생길 λ•Œλ§ˆλ‹€ 맀번 λˆ„κ΅°κ°€μ—κ²Œ λΆ€νƒν•˜λŠλ‹ˆ, ν•œλ²ˆ μ œλŒ€λ‘œ λ°°μ›Œμ„œ λ‚΄κ°€ 직접 뢄석 업무λ₯Ό ν•΄λ³΄λŠ” 것이 λ°± λ°°λŠ” 효율적일 것이닀.

SQL을 λ°°μš΄λ‹€λŠ” 것은, 곧 데이터λ₯Ό κ³΅λΆ€ν•œλ‹€λŠ” 것과 κ°™λ‹€. 마치 μ–΄λ €μš΄ μˆ˜ν•™μ„ λ°°μš°λŠ” 것과 같이 λŠκ»΄μ§€κ² μ§€λ§Œ κ·Έλ ‡μ§€λŠ” μ•Šλ‹€. 일반적으둜 λ‚΄κ°€ μ‚¬μš©ν•˜λŠ” 데이터가 μ–΄λ–»κ²Œ μƒκ²ΌλŠ”μ§€, μ–΄λ–€ νŠΉμ§•μ„ 가지고 있고 μ‚¬μš© μ‹œ μ–΄λ–€ 점을 μ£Όμ˜ν•΄μ•Ό ν•˜λŠ”μ§€, κ·Έ λ‹€μŒ SQLμ΄λΌλŠ” μ–Έμ–΄λ₯Ό μ–΄λ–»κ²Œ μ‚¬μš©ν•˜λŠ”μ§€ λ°°μš°λŠ” 것이닀. μˆ˜ν•™λ³΄λ‹€λŠ” 였히렀 μ˜μ–΄λ₯Ό μƒˆλ‘œ λ°°μš΄λ‹€κ³  생각해봐도 쒋을 것이닀. μ‰½κ²Œ μƒκ°ν•˜λ©΄ μ•„λž˜ μ„Έ 가지λ₯Ό λ°°μš΄λ‹€κ³  μƒκ°ν•˜λ©΄ λœλ‹€.

  • λ°μ΄ν„°λŠ” μ–΄λ–»κ²Œ μƒκ²¨λ¨Ήμ—ˆλŠ”κ°€ (λ°μ΄ν„°μ˜ νŠΉμ§•)

데이터λ₯Ό λ‹€λ£¨λŠ” μ–Έμ–΄λ₯Ό 배우기 μœ„ν•΄μ„œλŠ”, μš°μ„  데이터가 무엇인지λ₯Ό 잘 μ•Œκ³  λ„˜μ–΄κ°€μ•Ό ν•œλ‹€. λ°μ΄ν„°μ˜ νŠΉμ§•μ„ λͺ¨λ₯Έ μ±„λ‘œ SQL을 μ‚¬μš©ν•˜λ‹€λ³΄λ©΄ λΆ„λͺ…νžˆ 이해가 λ˜μ§€ μ•Šκ³  λ§‰νžˆλŠ” 뢀뢄이 생긴닀. κΈ‰ν•œ λ§ˆμŒμ— SQL 기초 문법뢀터 λ°°μš°κΈ°λ³΄λ‹€, 데이터가 μ–΄λ–»κ²Œ 생겨먹은 것인지, μ–΄λ–€ νŠΉμ§•μ„ κ°€μ Έμ•Ό 쒋은 데이터인지λ₯Ό μ•Œκ³  λ„˜μ–΄κ°€λŠ” 것이 μ’‹λ‹€.

  • λ°μ΄ν„°λŠ” μ–΄λ–»κ²Œ μ €μž₯λ˜λŠ”κ°€ (λ°μ΄ν„°λ² μ΄μŠ€μ˜ ꡬ쑰)

λ°μ΄ν„°λŠ” λ°μ΄ν„°λ² μ΄μŠ€μ— λ³΄κ΄€λœλ‹€. SQL은 μ‰½κ²Œ 말해, 데이터가 μ €μž₯된 λ°μ΄ν„°λ² μ΄μŠ€μ—κ²Œ λ‚΄κ°€ νŠΉμ •ν•œ μ§ˆλ¬Έμ„ λ˜μ§€λŠ” μ „μš© 언어이닀. κ·Έλ ‡λ‹€λ©΄ λ°μ΄ν„°λΏλ§Œ μ•„λ‹ˆλΌ, λ°μ΄ν„°μ˜ μ €μž₯μ†Œμ— λŒ€ν•œ 이해 μ—­μ‹œ ν•„μš”ν•˜λ‹€. 개발자 μˆ˜μ€€μœΌλ‘œ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ΄ν•΄ν•˜λΌλŠ” 말이 μ•„λ‹ˆλ‹€. 뢄석에 ν•„μš”ν•œ μ •λ„μ˜ 이해 정도면 μΆ©λΆ„ν•˜λ‹€.

  • λ°μ΄ν„°λŠ” μ–΄λ–»κ²Œ λΆˆλŸ¬μ˜€λŠ”κ°€ (SQL)

μœ„ 두 가지에 λŒ€ν•΄ μ–΄λŠ μ •λ„μ˜ κ°œλ…μ„ μ΅ν˜”λ‹€λ©΄, κ·Έ λ•Œ SQLμ΄λΌλŠ” μ–Έμ–΄ 자체λ₯Ό κ³΅λΆ€ν•΄λ³΄μž. SQL μ—­μ‹œ 마음만 λ¨ΉλŠ”λ‹€λ©΄ μ˜¨κ°– 일을 ν•΄λ‚Ό 수 μžˆλŠ” ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄ 쀑 ν•˜λ‚˜λ‹€. ν•˜μ§€λ§Œ 업무에 ν•„μš”ν•œ 데이터 뢄석을 μœ„ν•œ 문법은 ν•œμ •μ μ΄κ³ , μ΄λŠ” 생각보닀 μ‰½κ²Œ κ΅¬μ‘°ν™”λ˜μ–΄ μžˆμ–΄ 어렡지 μ•Šκ²Œ 배울 수 μžˆλ‹€. λ‚˜μ—κ²Œ ν•„μš”ν•œ 문법 20개만 λ°°μ›Œλ†“μ•„λ„ μ—…λ¬΄μ—μ„œμ˜ ν™œμš©λ„λŠ” 무ꢁ무진할 것이닀.

 

SQL 101에 λŒ€ν•˜μ—¬

λ‚΄κ°€ ν•˜λŠ” μ—…λ¬΄μ˜ 80% 이상이 SQL을 μ΄μš©ν•œ 데이터 뢄석일 μ •λ„λ‘œ λ‚˜μ˜ 업무에 SQL은 큰 비쀑을 μ°¨μ§€ν•œλ‹€. λ‹€λ§Œ λ‚˜λ„ μ‚¬λžŒμ΄κΈ° λ•Œλ¬Έμ— μŸμ•„μ§€λŠ” 각쒅 데이터 핸듀링 μš”μ²­μ„ λͺ¨λ‘ 듀어쀄 μˆ˜λŠ” μ—†μ—ˆλ‹€. κ·Έλž˜μ„œ ν˜„ νšŒμ‚¬μ— μž…μ‚¬ν•˜μžλ§ˆμž 맑은 업무 쀑 ν•˜λ‚˜κ°€ νŒ€μ›λ“€μ—κ²Œ SQL을 κ°€λ₯΄μΉ˜λŠ” μΌμ΄μ—ˆλ‹€. νŒ€μ›λ“€μ΄ κ°„λ‹¨ν•œ SQL을 λ°°μš°λŠ” 것 λ§ŒμœΌλ‘œλ„ λ‚˜μ˜ 일이 크게 경감됨은 λ¬Όλ‘ , 업무 효율이 이전보닀 훨씬 크게 ν–₯μƒλ˜κΈ° λ•Œλ¬Έμ΄λ‹€.

μ•žμœΌλ‘œλŠ” νšŒμ‚¬μ—μ„œ μ§„ν–‰ν–ˆλ˜ SQL ꡐ윑 μ„Έμ…˜μ„ λ°”νƒ•μœΌλ‘œ κ°€μž₯ 기초적인 SQL ν¬μŠ€νŒ…μ„ λ§ˆλ ¨ν•΄λ³΄λ €κ³  ν•œλ‹€. <SQL 101>이라 λΆˆλ¦¬λŠ” 컨텐츠λ₯Ό 톡해 νŒ€μ›λ“€ 뿐만 μ•„λ‹ˆλΌ 데이터 뢄석 및 핸듀링에 λͺ©λ§λΌμžˆλ˜ 뢄듀도 ν•¨κ»˜ SQL을 λ°°μ›Œλ³΄λ©΄ 쒋을 것 κ°™λ‹€.

 

 

 

재미있게 보셨닀면 곡감 λ²„νŠΌ / λŒ“κΈ€ λ‚¨κ²¨μ£Όμ„Έμš”!
컨텐츠 μž‘μ„±μ— 큰 힘이 λ©λ‹ˆλ‹€ :)