๋ฐ์ดํฐ ๋ถ์๊ฐ, ๋ฐ์ดํฐ๋ฆฌ์ ๊ฐ์ ๊ธฐํ์ ์ ๋๋ค :)
๋ฐ์ดํฐ๋ฆฌ์์ ๋ํด์ ๋ ์์๋ณด๊ณ ์ถ๋ค๋ฉด ๐ https://datarian.io/about
๊ธฐํ ๊ฐ์
1. [๋ฐฑ๋ฌธ์ด๋ถ์ฌ์ผํ] ๋ฐ์ดํฐ ๋ถ์์ ์ํ ๊ณ ๊ธ SQL
2. ๊ณต์ ๋ฌธ์๋ก ๋ฐฐ์ฐ๋ ํ๋ค์ค(Pandas)
Courses
Reviews
- [A hundred words are not as good as seeing once] Advanced SQL for data analysis
- [A hundred words are not as good as seeing once] Advanced SQL for data analysis
- [A hundred words are not as good as seeing once] Advanced SQL for data analysis
- [A hundred words are not as good as seeing once] Advanced SQL for data analysis
- [A hundred words are not as good as seeing once] Advanced SQL for data analysis
Posts
Q&A
์ ๋ฐ์ดํธ ๊ตฌ๋ฌธ
์๋ ํ์ธ์, ๋ต๋ณ ๋๋ฆฝ๋๋ค.DML ๊ด๋ จ ๋ฆฌํธ์ฝ๋ ๋ฌธ์ ์์ ๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ณ ์๋๋ฐ, ์๋ง test case์ ๋ฌธ์ ๊ฐ ์๋ ๊ฒ์ผ๋ก ์ถ์ ๋ฉ๋๋ค. Run Code ๋์ Submit์ ๋ฐ๋ก ํด๋ณด์๋ ๊ฒ์ ๊ถ์ฅ๋๋ฆฝ๋๋ค. ๋ง์ฝ ์ฟผ๋ฆฌ์ ์ค๋ฅ๊ฐ ์๋ค๋ฉด, Accepted ๋๋ ๊ฒ์ ํ์ธํ์ค ์ ์์ต๋๋ค :)
- 3
- 1
- 318
Q&A
์ ํ์กฐ์ธ์์ LEFT vs INNER JOIN ์ฐจ์ด
์๋ ํ์ธ์, ๋ต๋ณ ๋๋ฆฝ๋๋ค. ์ฐ์ ์ง๋ฌธ ์ฃผ์ ๋ด์ฉ์ ๊ฒฝ์ฐ์ ๋ฐ๋ผ ๋ค๋ฅด๋ฉฐ, ์ด ๋ฌธ์ ์์๋ INNER JOIN ์ผ๋ก SELF JOIN ์ ํ๋ ๊ฒ๊ณผ LEFT JOIN ์ผ๋ก SELF JOIN ์ ํ๋ ๊ฒ์ ๊ฒฐ๊ณผ๊ฐ ๋์ผํฉ๋๋ค. ์ฌ๊ธฐ์์๋ person ์ด๋ผ๋ ํ ์ด๋ธ์ email ์ปฌ๋ผ์ผ๋ก SELF JOIN ์ ํ์๋๋ฐ์, joinkey๋ก ์ฌ์ฉ๋๋ ๋ ์ปฌ๋ผ์ ๋์ผํ ๊ฐ์ด ๋ค์ด์๊ธฐ ๋๋ฌธ์ INNER JOIN ๊ณผ LEFT JOIN ์ ์ฐจ์ด๊ฐ ์์ต๋๋ค. ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ง๋ ๊ฒฝ์ฐ๋, ๋ค์ด์๋ ๊ฐ์ด ๋ค๋ฅธ ์ปฌ๋ผ์ joinkey๋ก ์ฌ์ฉํ์ฌ SELF JOIN ์ ํ ๊ฒฝ์ฐ์ ๋๋ค. ์๋ ์ฐธ๊ณ ๋ฌธ์์์ ๊ด๋ จ ์์๋ฅผ ๋ณด์ค ์ ์์ผ๋ฉฐ, ๊ฐ์ ์กฐ๊ฑด์ผ๋ก INNER JOIN ์ ํ์ ๋์ LEFT JOIN ์ ํ์ ๋ ๊ฒฐ๊ณผ์ ์ฐจ์ด๊ฐ ์๋ ๊ฒ์ ํ์ธ ํ์ค ์ ์์ต๋๋ค. [MySQL TUTORIAL] MySQL Self Join ์ดํด์ ๋์์ด ๋ ์ ์๋๋ก LEFT JOIN ๊ด๋ จ ๋ฌธ์๋ ํจ๊ป ์ ๋ฌ ๋๋ฆฝ๋๋ค :) [MySQL TUTORIAL] MySQL LEFT JOIN
- 0
- 1
- 846
Q&A
๋์ ํฉ ์ง๋ฌธ์ ๋๋ค.
์๋ ํ์ธ์, ๋ต๋ณ ๋๋ฆฝ๋๋ค. GROUP BY ํน์ ORDER BY ์ ์๋ SELECT ์ ์ ์ ๋ ์ปฌ๋ผ๋ช ๋์ ์ซ์๋ฅผ ์ ์ ์๋ ์์ต๋๋ค. ํด๋น ์ค๋ช ์ GROUP BY 1,2,3,4๋ Line ์ปฌ๋ผ์ ๊ฐ์ ์๋ฏธํ๋ ๊ฒ์ด ์๋๋ผ, SELECT ์ ์ ์ ํ ์ปฌ๋ผ์ ์๋ฏธํฉ๋๋ค. ๋ฐ๋ผ์ ์ค๋ช ์ GROUP BY 1,2,3,4 ๋ GROUP BY e1.Id, e1.Name, e1. kg, e1.Line ๊ณผ ๊ฐ์ ์๋ฏธ์ ๋๋ค. ๋ณธ ๋ด์ฉ์ ์์์ 8:25 ๋ถ๋ถ์์๋ ์ค๋ช ์ ๋ค์ผ์ค ์ ์์ต๋๋ค :)
- 0
- 1
- 291
Q&A
e.salary = dh.max_salary ์ด๊ฑธ ์ ํด์ผํ๋์? ใ ใ
์๋ ํ์ธ์, ๋ต๋ณ ๋๋ฆฝ๋๋ค :) ์ฐ์ dh ์๋ธ์ฟผ๋ฆฌ๋ฅผ ๋ง๋ ์ด์ ๋ ๊ฐ ๋ถ์๋ณ๋ก salary์ ์ต๋๊ฐ์ ์๊ธฐ ์ํจ์ธ๋ฐ์. 1) ๊ฐ ๋ถ์๋ณ๋ก 2) ์ต๋ salary์ ํด๋นํ๋ 3) ์ง์์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์์ผํ๊ธฐ ๋๋ฌธ์, department ์ max_salary๋ฅผ ๊ธฐ์ค์ผ๋ก dh ์ employee ํ ์ด๋ธ๊ณผ JOIN ํ์๊ณ , SELECT ์ ์์ ๊ทธ ์ง์์ name, salary ๊ฐ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ฆ, dh ์๋ธ์ฟผ๋ฆฌ๋ ๋ถ์๋ณ ์ต๋ salary๋ฅผ ์๊ธฐ ์ํด ์ฌ์ฉํ์๊ณ , ์ฌ๊ธฐ์์ ์๊ฒ ๋ ๋ถ์๋ณ ์ต๋ salary๋ฅผ ๋ค์ employee ํ ์ด๋ธ๊ณผ JOIN ํ์ฌ ๊ทธ ๋ถ์์์ ํด๋น salary๋ฅผ ๊ฐ์ง ์ง์์ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์ค๋ ๋ฌธ์ ์์ต๋๋ค.
- 1
- 1
- 304
Q&A
ํด์ปค๋ญํฌ Top Earners ๋ฌธ์ ๋ต๋ตํฉ๋๋ค ใ ใ
์๋ ํ์ธ์, ๋ต๋ณ ๋๋ฆฝ๋๋ค. ์ฐ์ MySQL ์์๋ GROUP BY, HAVING, ORDER BY ์ ์์ Alias ๋ฅผ ์ฌ์ฉํ์ค ์ ์๊ณ WHERE ์ ์์๋ ์ฌ์ฉํ์ค ์ ์์ต๋๋ค. WHERE ์ ์์ ์ฌ์ฉํ ์ ์๋ ์ด์ ๋ ์ฟผ๋ฆฌ ์คํ ์์์ ๊ด๋ จ์ด ์๋๋ฐ์, WHERE ์ ์ด ์คํ๋ ์ดํ์ SELECT ์ ์ด ์คํ๋๊ธฐ ๋๋ฌธ์ SELECT ์ ์์ ์ ์ํ Alias๋ WHERE ์ ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. [MySQLTUTORIAL] MySQL Alias MySQL์์๋ SQL ํ์ค ๋ฌธ๋ฒ๊ณผ ๋ค๋ฅด๊ฒ, HAVING ์ ์ด FROM (JOIN), WHERE, GROUP BY, SELECT ์ดํ์ ์คํ๋ฉ๋๋ค. ๋ฐ๋ผ์ HAVING ์ ์์๋ SELECT ์ ์์ ์ ์ํ Alias๋ฅผ ์ฌ์ฉํด์ฃผ์ ์ผ ํฉ๋๋ค. [MySQLTUTORIAL] GROUP BY [MySQLTUTORIAL] HAVING ์ฐธ๊ณ ํ์ค ๋ฌธ์๋ฅผ ์ฒจ๋ถํ์์ผ๋ ์ดํด์ ๋์์ด ๋๊ธธ ๋ฐ๋ผ๊ฒ ์ต๋๋ค :)
- 2
- 3
- 448
Q&A
์๋ ํ์ธ์ ๋ฆฌํธ์ฝ๋ 184๋ฒ ๋ฌธ์ ๊ด๋ จํ์ฌ ์ง๋ฌธ๋๋ฆฝ๋๋ค.(์๋ฆฌ์์ค ๊ด๋ จ)
์๋ ํ์ธ์, ๋ต๋ณ ๋๋ฆฝ๋๋ค :) 1. ์๋ฆฌ์์ค ๊ด๋ จ ์ ์ด์ฃผ์ ์ฒซ๋ฒ์งธ ์ฟผ๋ฆฌ์์ Employee ํ ์ด๋ธ์ ์๋ฆฌ์์ค๋ฅผ E ๋ผ๊ณ ์ ์ฉํ์ง ์์์ฑ๋ก SELECT ์ ์ ์ฌ์ฉํ์ฌ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค. FROM Employee AS E ์ ๊ฐ์ด ์ ์ฉํ์ ํ, ์ฒซ๋ฒ์งธ ์ฟผ๋ฆฌ์ ๋์ผํ๊ฒ SELECT ์ ์ ์ ์ด์ฃผ์๋ฉด ์ค๋ฅ ์์ด ๋์ํฉ๋๋ค. 2. ๋ค์ค์ปฌ๋ผ ์๋ธ์ฟผ๋ฆฌ ๊ด๋ จ https://www.inflearn.com/questions/43204์๋ง ์ด ์ง๋ฌธ๊ณผ ๊ด๋ จ๋ ๋ด์ฉ์ ์ง๋ฌธ ์ฃผ์ ๊ฒ ๊ฐ์๋ฐ์, WHERE Salary IN (SELECT MAX(Salary) FROM Employee GROUP BY DepartmentId) ์ ๊ฐ์ด ์์ฑํ๋ฉด, ์ถ๋ ฅ๋ MAX(Salary)๊ฐ ์ด๋ค ๋ถ์์ ๊ฐ์ธ์ง ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ๋ฐ๋ผ์ DepartmentID๋ ํจ๊ป ๋งค์นญ๋ ์ ์๋๋ก ํ์ดํ์ ๊ฒ์ฒ๋ผ ๋ค์ค์ปฌ๋ผ ์๋ธ์ฟผ๋ฆฌ๋ฅผ ์ด์ฉํด์ผ ํฉ๋๋ค.
- 1
- 1
- 260
Q&A
ํด๋น ๋ฌธ์ JOIN ๊ด๋ จ ์ง๋ฌธ ๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์, ์ง๋ฌธ ์ฃผ์ ๋ด์ฉ์ ๋ ๊ฐ์ง ๋ด์ฉ์ด ๋ค์ด์์ด ๋๋ ์ ๋ต๋ณ ๋๋ฆฝ๋๋ค :) 1. ์ฒซ ๋ฒ์งธ ์ฟผ๋ฆฌ SELECT ์ ์์ ์ง๊ณํจ์๋ฅผ ์ฌ์ฉํ์ค ๋๋ ์ง๊ณํจ์ ์์ ์๋ ๋ชจ๋ ์ปฌ๋ผ์ GROUP BY ์ ์ ์ด์ฃผ์ ์ผ ํด๋น ์ปฌ๋ผ๋ค์ ๊ธฐ์ค์ผ๋ก ์ ํํ๊ฒ ์ง๊ณ๊ฐ ๋ฉ๋๋ค. GROUP BY ์ ์ Employee.name ์ ์ ์ด์ฃผ์ง ์์์, Joe์ salary๊ฐ 90000 ์ด ์๋์๋ ์๋ชป ์ถ๋ ฅ๋ ๊ฒ์ ๋ณด์ค ์ ์์ต๋๋ค. ์๋ง Joe ๊ฐ ๊ฐ์ฅ ์ฒ์์ ์๋ ์ด๋ฆ์ด๋ผ ์ถ๋ ฅ๋ ๊ฒ์ผ๋ก ๋ณด์ด๊ณ ์. ์ผ๋จ ํด๋น ์ฟผ๋ฆฌ์์๋ Department.name์ผ๋ก GROUP BY ๊ฐ ๋จผ์ ๋๊ธฐ ๋๋ฌธ์ ๊ฐ ๋ถ์ salary์ ์ต๋๊ฐ์ ์ถ๋ ฅํฉ๋๋ค. ๋ฐ๋ผ์ ํด๋น ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ๊ฐ์ผ๋ก๋ ๊ฐ ๋ถ์์ ์ต๋ salary ํ ๊ฐ์ฉ, ์ด ๋ ํ์ด ์ถ๋ ฅ๋ฉ๋๋ค. 2. ๋ ๋ฒ์งธ ์ฟผ๋ฆฌ ํด๋น ์ฟผ๋ฆฌ์์๋ joinkey๋ก ์ฌ์ฉ๋๋ Employee.departmentID์ Department.id ๋ชจ๋ 1 ๋๋ 2๋ก ๋์ผํ๊ฒ ๊ตฌ์ฑ๋์ด ์๊ธฐ ๋๋ฌธ์ INNER JOIN, LEFT JOIN ์ ๊ฒฐ๊ณผ๊ฐ ๋์ผํฉ๋๋ค. ์๋ง ์คํ ์ ์ค๋ฅ๊ฐ ์์๋ ๊ฒ ๊ฐ์๋ฐ, ๋ค์ ์คํํด๋ณด์๋ฉด ๋์ผํ ๊ฐ์ด ์ถ๋ ฅ๋๋ ๊ฑธ ๋ณด์ค ์ ์์ ๊ฑฐ์์.
- 0
- 1
- 283
Q&A
์๋ธ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฉด ์ฑ๋ฅ์ด ๋จ์ด์ง๋์?
์๋ ํ์ธ์, ๋ต๋ณ ๋๋ฆฝ๋๋ค. ๋ฌธ์์ฃผ์ ๋ด์ฉ์ ๊ฒฝ์ฐ ์ฑ๋ฅ๋ณด๋ค๋ ์ถ์ถ ์ ํ๋์ ๊ด๋ จ์ด ์์ต๋๋ค.์ด ๋ฌธ์ ์ฒ๋ผ months*salary์ ์ต๋๊ฐ์ด 1๊ฐ์ด๊ธฐ ๋๋ฌธ์ LIMIT 1์ ์จ์ ์ถ์ถํด๋ ๋ฉ๋๋ค. ํ์ง๋ง 1์๊ฐ ์ฌ๋ฌ ๊ฐ์ธ ๊ฒฝ์ฐ์๋ LIMIT ์ฌ์ฉ ์ ์ ํํ ์ถ์ถ์ด ๋์ง ์๊ธฐ ๋๋ฌธ์ ์๋ธ์ฟผ๋ฆฌ์ ๊ฐ์ด ๋ค๋ฅธ ๋ฐฉ์์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์์ - ์ํ ์นดํ ๊ณ ๋ฆฌ ๋ณ ์ฃผ๋ฌธ ์(์ฃผ๋ฌธ ์๊ฐ ๊ฐ์ฅ ๋ง์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ์ถ์ถํ ๊ฒฝ์ฐ A,B ๊ฐ ๋ชจ๋ ์ถ๋ ฅ๋์ด์ผ ํ์ง๋ง LIMIT 1์ ์ฌ์ฉํ ๊ฒฝ์ฐ A๋๋ B ๋ง ์ถ๋ ฅ.) ์นดํ ๊ณ ๋ฆฌ ์ฃผ๋ฌธ ์ A 1,000 B 1,000 C 500
- 0
- 1
- 367
Q&A
select์์ ํ์ฉํ์ฌ ํด๋น๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์ฟผ๋ฆฌ ๋ฌธ์๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์, ๋ต๋ณ ๋๋ฆฝ๋๋ค. ๋ณธ ๋ฌธ์ ๋ UPDATE๋ฅผ ์ฌ์ฉํด์ ํ์ด์ผ ํ๋ ๋ฌธ์ ๋ก, ์ค๋ช ์์๋ SELECT ๊ตฌ๋ฌธ ๋์ UPDATE ๊ตฌ๋ฌธ์ ์ฌ์ฉ ํ ๊ฒ์ ๋ช ์ํ๊ณ ์์ต๋๋ค :) Note that you must write a single update statement, do not write any select statement for this problem.
- 0
- 1
- 211
Q&A
ERD ์นดํ ๊ณ ๋ฆฌ, ๋ฐ์ดํฐ ํ์ ๊ฐ์ ERD ๊ตฌ์ฑ์ ๊ดํ์ฌ ๊ถ๊ธํ๊ฒ ์์ด์ ์ง๋ฌธ๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์, ๋ต๋ณ ๋๋ฆฝ๋๋ค :) ํด๋น ๋ถ๋ถ์ ๊ฐ์๋ฅผ ์ํด ์์๋ก ์์ฑ๋์์ผ๋ฉฐ, ์ผ๋ฐ์ ์ผ๋ก DB์์ ๋ง์ด ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ํ์ ์ ๋ฐ๋ผ ํ๊ธฐํ์์ต๋๋ค. ๋ฐ์ดํฐ ์ ์ฌ ์ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ํ์ ์ ๊ฐ์ด๋๋ผ์ธ์ ์๋ ๋ฌธ์์์ ํ์ธํ์ค ์ ์์ต๋๋ค. [W3School] SQL Data Types for MySQL, SQL Server, and MS Access
- 0
- 1
- 411





![Thumbnail image of the [A hundred words are not as good as seeing once] Advanced SQL for data analysis](https://cdn.inflearn.com/public/courses/324605/cover/141a32ce-69fe-42d9-9253-d2136e208464/sql_advanced.png?w=148)