🐬 MySQL/λ¬Έμ œν’€μ΄

[MySQL] 데이터뢄석을 μœ„ν•œ SQL (μ •κ·œν‘œν˜„μ‹) + μ—°μŠ΅ μ‚¬μ΄νŠΈ

xod22 2023. 1. 25. 19:25
728x90

- μ •κ·œν‘œν˜„μ‹μ΄λž€?

: λ¬Έμžμ—΄μ—μ„œ νŒ¨ν„΄μ„ μ°Ύμ•„λ‚΄λŠ” μΌμ’…μ˜ κ·œμΉ™

-> μ‹€μ œλ‘œ μ •κ·œν‘œν˜„μ‹μ„ λ‹€ μ•Œκ³  μ“°λŠ” μ‚¬λžŒμ€ 거의 μ—†μŒ.(검색을 ν•΄μ„œ μ“°λŠ” κ²½μš°κ°€ λŒ€λΆ€λΆ„)

-> μ •κ·œν‘œν˜„μ‹μ΄ μ΄λŸ°κ±°κ΅¬λ‚˜ ν•˜λŠ” 이해와 νŠœν† λ¦¬μ–Ό μ‚¬μ΄νŠΈμ—μ„œ 쑰금 μ—°μŠ΅μ„ ν•΄λ³Έ 후에 κ·Έ λ‹€μŒλΆ€ν„°λŠ” ν•„μš”ν•  λ•Œλ§ˆλ‹€ 검색을 ν•΄μ„œ μ°Ύμ•„μ“Έ 수 μžˆλŠ” μ •λ„λ‘œ ν•™μŠ΅ν•  것.

 

1. 문제

Query the list of CITY names starting with vowels (i.e., a, e, i, o, or u) from STATION. Your result cannot contain duplicates.

where LAT_N is the northern latitude and LONG_W is the western longitude.

 

-> STATION ν…Œμ΄λΈ”μ—μ„œ CITYκ°€ λͺ¨μŒμœΌλ‘œ μ‹œμž‘ν•˜λŠ” κ²ƒλ“€λ§Œ 뽑아와라(쀑볡 ν—ˆμš©x)

 

 

 

2. 내풀이

<κΈ°μ‘΄ 풀이>

SELECT DISTINCT CITY
FROM STATION
WHERE city LIKE 'a%'
OR city LIKE 'e%'
OR city LIKE 'i%'
OR city LIKE 'o%'
OR city LIKE 'u%'

Q : 풀이에 A, E, I, O, Uλ₯Ό 같이 써쀄 수 μžˆλŠ” 방법이 없냐? 

A : μ •κ·œν‘œν˜„μ‹ μ‚¬μš©

-> λ¬Έμžμ—΄μ—μ„œ νŠΉμ • νŒ¨ν„΄μ„ μ°Ύμ•„μ„œ ex) λͺ¨μŒμœΌλ‘œ μ‹œμž‘ν•˜μ§€ 말것, 자음으둜 μ‹œμž‘ν•˜μ§€ 말것, κ°€μ§€κ³  μžˆλŠ” λ¬Έμžμ—΄μ— μˆ«μžκ°€ 3κ°œλŠ” 듀어가야함, 이메일 νŒ¨ν„΄μ„ 찾아달라 λ“±λ“± λ¬Έμžμ—΄μ—μ„œ νŠΉμ • νŒ¨ν„΄μ„ μ°Ύμ•„λ‚΄λŠ”λ° μ“°μ΄λŠ” 것을 μ •κ·œν‘œν˜„μ‹μ΄λΌκ³  함.

 

<μ •κ·œν‘œν˜„μ‹ μ‚¬μš© 풀이>

  • μ •κ·œν‘œν˜„μ‹ : regular expression μ€„μ—¬μ„œ REGEXP
  • NOT REGEXP μ˜΅μ…˜μ€ ~둜 μ‹œμž‘ν•˜κ±°λ‚˜ λλ‚˜μ§ μ•ŠμŒμ„ 의미!
  • REGEXP '기호'
  • ^[aeiou] : aeiou둜 μ‹œμž‘(νŠΉμ • λ¬Έμžμ—΄λ‘œ μ‹œμž‘)
  • [aeiou]$ : aeiou둜 끝남(νŠΉμ • λ¬Έμžμ—΄λ‘œ 끝남)
  • .* : κ·Έ λ’€μ—λŠ” μ–΄λ–€ λ¬Έμžμ—΄μ΄ 와도 μƒκ΄€μ—†μŒ("." : 아무 κΈ€μžλ‚˜ 와도 됨 +  "*" : κΈ€μžμˆ˜μ— μ œν•œμ€ μ—†μŒ)
SELECT DISTINCT city
FROM station
WHERE city REGEXP '^[aeiou].*'

 

 

 

3. κ²°κ³Ό

 

 

* REGEXP μ—°μŠ΅ν•  수 μžˆλŠ” νŠœν† λ¦¬μ–Όμ‚¬μ΄νŠΈ

 

RegexOne - Learn Regular Expressions - Lesson 1: An Introduction, and the ABCs

Regular expressions are extremely useful in extracting information from text such as code, log files, spreadsheets, or even documents. And while there is a lot of theory behind formal languages, the following lessons and examples will explore the more prac

regexone.com

  • 였λ₯Έμͺ½μ˜ Lesson Notesκ°€ ν•„μš”ν•œ μ •κ·œν‘œν˜„μ‹.
  • μ—°μŠ΅ν•΄λ³Όκ²ƒ!

 

- 문자λ₯Ό 직접 μž…λ ₯ν•˜κ³  μ •κ·œν‘œν˜„μ‹μ„ μ μš©ν•΄λ³Ό 수 μžˆλŠ” μ‚¬μ΄νŠΈ

 

RegExr: Learn, Build, & Test RegEx

RegExr is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp).

regexr.com

  • μ΄λ ‡κ²Œ "Arligton"μ΄λΌλŠ” 데이터가 μžˆμ„ λ•Œ μ •κ·œν‘œν˜„μ‹μœΌλ‘œ μ–΄λ–»κ²Œ μΆ”μΆœν•΄μ˜¬μ§€ μ μš©ν•΄λ³Ό 수 있고 ν•˜λ‹¨μ— μ •κ·œν‘œν˜„μ‹μ— λŒ€ν•œ μ„€λͺ…도 μžˆμœΌλ‹ˆ 곡뢀할 λ•Œ 도움이 될것!
  • 사싀 SQLμ—μ„œλŠ” λŒ€μ†Œλ¬Έμž ꡬ뢄이 μ—†μ–΄μ„œ ^[aeiou].*으둜 μ¨μ€˜λ„ λ˜μ§€λ§Œ νŒŒμ΄μ¬μ΄λ‚˜ λ‹€λ₯Έ μ–Έμ–΄μ—μ„œλŠ” λŒ€μ†Œλ¬Έμžκ°€ κ΅¬λΆ„λ˜κΈ° λ•Œλ¬Έμ— μ—¬κΈ°μ„œλŠ” μ¨μ£Όμ—ˆλ‹€.

 

728x90