๊ธฐ์ ์ด๋ ์กฐ์ง ๋๋ ๊ฐ์ธ์ด ํ์์ ์ํด ๋ฐ์ดํฐ๋ฅผ ์ผ์ ํ ํํ๋ก ์ ์ฅํด ๋์๊ฒ.๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌ, ๋ณต๊ตฌํด์ฃผ๋ ์ํํธ์จ์ด์๋ก๊ฐ์ ๊ด๊ณ๊ฐ ์๋ ๋ฐ์ดํฐ ํ ์ด๋ธ๋ค์ ๋ชจ์๋์ ๋ฐ์ดํฐ ์ ์ฅ๊ณต๊ฐDB์ Data๋ฅผ ์ ์, ์กฐ์, ์ ์ดํ๊ธฐ ์ํ ์ฉ์ด: ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์คํค๋ง๋ฅผ ์ ์ํ๊ฑฐ๋ ์์ ํ
๐งท ํ ์ด๋ธ ์์ฑ ๐งท ํ ์ด๋ธ ํ์ธ ๐งท ํ ์ด๋ธ ์ ๋ณดํ์ธ๐งท ํ ์ด๋ธ ์ญ์ ๐งท ํ ์ด๋ธ๋ช ๋ณ๊ฒฝ๐งท ํ ์ด๋ธ ์ปฌ๋ผ ์ถ๊ฐ๐งท ํ ์ด๋ธ ์ปฌ๋ผ ์ ๋ณด ์์ ๐งท ํ ์ด๋ธ ์ปฌ๋ผ ์ด๋ฆ ์์ ๐งท ํ ์ด๋ธ ์ปฌ๋ผ ์ญ์ ํ ์ด๋ธ๋ช mytable -> person ์ผ๋ก ๋ณ๊ฒฝํ ์ด๋ธ agee ์ปฌ๋ผ ์ถ๊ฐํ ์ด
DB์ ํ ์ด๋ธ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ณํ์ ๋ ฅ(INSERT), ์์ (UPDATE), ์ญ์ (DELETE) ํ๊ฑฐ๋ ์กฐํ(SELECT)ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ค.๐งท ๋ฐ์ดํฐ์ ๋ ฅperson table์ ์ดํจ๋ฆฌ, ์ด์์ ๋ฐ์ดํฐ ์ ๋ ฅ๐งท ๋ฐ์ดํฐ ์กฐํ๐งท ๋ฐ์ดํฐ ์์ ์ดํจ๋ฆฌ ๋์ด๋ฐ์ดํฐ 23์ผ๋ก ์
ํ ์ด๋ธ ๋ฐ ์ ๋ณด ์์ฑ๋ฐ์ดํฐ ์ ๋ ฅํน์ ์ปฌ๋ผ์ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์(asc) ๋๋ ๋ด๋ฆผ์ฐจ์(desc)์ผ๋ก ์ ๋ ฌ๐งท ORDER BY ์ปฌ๋ ด๋ช or ๋ณ๋ช or column์์ ASC or DESCceleb ํ ์ด๋ธ์์ ์ฑ๋ณ์ด ์ฌ์์ธ ๋ฐ์ดํฐ์ id, name์ ๋์ด ๋ด๋ฆผ์ฐจ์์ผ๋ก ์กฐํce
ํ ์ด๋ธ ์์ฑ๋ฐ์ดํฐ ์ ๋ ฅโก๏ธ TEST1 ํ ์ด๋ธ์ no ์ปฌ๋ผ์๋ value 123์ TEST2 ํ ์ด๋ธ์ no ์ปฌ๋ผ์๋ value 563์ ์ ๋ ฅ ๐งท UNION : ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐ๐งท UNION ALL : ์ค๋ณต๋ ๊ฐ๋ ๋ชจ๋๋จ, ๋๊ฐ์ง ๋ชจ๋ ๊ฐ์ ธ์ค๋ ์ปฌ๋ผ์ ๊ฐ์๊ฐ
๐งท CONCAT์ฌ๋ฌ๋ฌธ์์ด์ ํ๋๋ก ํฉ์น๊ฑฐ๋ ์ฐ๊ฒฐ (select ๋ค์ ์ฌ์ฉ)๐งท ALIAS (as)๋ณ์นญ ์์ฑ (์ปฌ๋ผ์ด๋, ํ ์ด๋ธ ์ด๋ฆ์ ๋ณ์นญ์์ฑ)์์ด๋ ' ' (๋ฐ์ดํ) ์๋ต๊ฐ๋ฅas ์๋ต๊ฐ๋ฅ๐ name ๊ณผ job_title ์ ํฉ์ณ์ profile ์ด๋ผ๋ ๋ณ์นญ์ ๋ง๋ค
์๋์ฐ์ ๊ฒฝ์ฐ ํ๊ฒฝ๋ณ์์ Path๋ฅผ ๋ฑ๋กํ ํcmd ์ฐฝ์์ mySQL ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ ์ ์๋ค.์ฐธ๊ณ ๋งํฌ | https://hoho325.tistory.com/163์ ์\+password ์ ๋ ฅDatabase (zerobase) ๋ฅผ ์์ฑํ๊ณ ํ์ธํ์ธ์.(DEFAU
Python - mysql.connector.Connect | ์ค์น, ์ฐ๊ฒฐ >๐งท ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น pip install mysql-connector-python import mysql.connector ๐งท MySQL ์ ์ ์ฝ๋ Local Database ์ฐ๊ฒฐ AW
PRIMARY KEY(๊ธฐ๋ณธ ํค) >โข ํ ์ด๋ธ์ ๊ฐ ๋ ์ฝ๋๋ฅผ ์๋ณ โข UNIQUE | ์ค๋ณต๋์ง ์์ ๊ณ ์ ๊ฐ์ ํฌํจ โข NOT NULL | NULL ๊ฐ์ ํฌํจํ ์ ์์ โข ํ ์ด๋ธ ๋น ํ๋์ ๊ธฐ๋ณธํค๋ฅผ ๊ฐ์ง PRIMARY KEY ์์ฑ > ๐งท ํ ์ด๋ธ ์์ฑ ์ ๐งท
1. COUNT > ๐งท COUNT ๋ฌธ๋ฒ ๐ count(*) : null ๊ฐ์ ํฌํจํ ๋ชจ๋ ํ์ ์ ๐ count(column) : null์ ์ ์ธํ ํด๋น์ปฌ๋ผ์ ๋ฐ์ดํฐ ์ 2. SUM > ๐งท SUM ๋ฌธ๋ฒ ๋ฒ์ฃ์ ์ด ๋ฐ์๊ฑด์ ์ด์ธ์ ์ด ๋ฐ์ ๊ฑด์ <b
WHERE, ORDER BY | https://velog.io/@sxlbl/SQL-SELECT-order-by-where๊ทธ๋ฃนํํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์กฐํ๐งท Group By ๋ฌธ๋ฒ๐ DISTINCT๋ ORDER BY๋ฅผ ์ฌ์ฉํ ์ ์์ง๋ง GROUP BY ์ฌ์ฉ์์๋ ๊ฐ๋ฅํ
๐งท ์๋ฌธ์ ๋๋ฌธ์๋ก ๋ฐํํ๋ ํจ์$15 ๊ฐ ๋๋ ๋ฉ๋ด๋ฅผ ๋๋ฌธ์๋ก ์กฐํ๐งท ์๋ฌธ์ ์๋ฌธ์๋ก ๋ฐํํ๋ ํจ์$5 ๊ฐ ์๋๋ ๋ฉ๋ด๋ฅผ ์๋ฌธ์๋ก ์กฐํ๐งท ๋ฌธ์์ด ๋ถ๋ถ์ ๋ฐํํ๋ ํจ์11์ ์นดํ์ด๋ฆ ์ค ๋๋ฒ์งธ ๋จ์ด๋ง ์กฐํ - 6๋ฒ ์์น์์ 4๊ธ์๐งท ๋ฌธ์์ด ๊ธธ์ด๋ฅผ ๋ฐํํ๋ ํจ์s
About Subquery >๐งท ์ค๋ช ํ๋์ SQL ๋ฌธ ์์ ํฌํจ๋์ด ์๋ ๋ ๋ค๋ฅธ SQL ๋ฌธ์ ๋งํ๋ค. ๋ฉ์ธ์ฟผ๋ฆฌ๊ฐ ์๋ธ์ฟผ๋ฆฌ๋ฅผ ํฌํจํ๋ ์ข ์์ ์ธ ๊ด๊ณ์ด๋ค. ์๋ธ์ฟผ๋ฆฌ๋ ๋ฉ์ธ์ฟผ๋ฆฌ์ ์นผ๋ผ ์ฌ์ฉ ๊ฐ๋ฅ ๋ฉ์ธ์ฟผ๋ฆฌ๋ ์๋ธ์ฟผ๋ฆฌ์ ์นผ๋ผ ์ฌ์ฉ ๋ถ๊ฐ >๐งท ์ฌ์ฉ์ ์ฃผ์ Sub
AWS RDS (MySQL) ์ ํ๋ก์ ํธ ๊ด๋ จ Database ๋ฅผ ์์ฑํ๊ณ , ์ ๊ทผ ๊ฐ๋ฅํ ์ฌ์ฉ์ ๊ณ์ ์ ์์ฑํ์ธ์. Database Name : onedayUser Name / Password : oneday / 1234์คํ๋ฒ ์ค ์ด๋์ผ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ํ ์ด๋ธ์ ๋ค์์
๋ฌธ์ 1 ์ฃผ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ํ ์ด๋ธ์ ๋ค์์ ๊ตฌ์กฐ๋ก ์์ฑํ์ธ์ > ๐ BOOLEANํ์ ์ด๋ Ture or False / 1,0 ์ผ๋ก ๋ฐํ ๋ด๋ถ์ ์ผ๋ก๋ Boolean ํ์ ์์ฒด๊ฐ ์๊ธฐ๋๋ฌธ์ tinyint(1) ์ผ๋ก ์์ฑ๋จ 1,0์ด์ธ์ ๊ฐ๋ ์ ํจ์ฑ ์ฒดํฌ์์ด ๋ฐ์ดํฐ๊ฐ
๋ฌธ์ ๋์ฅ๊ท ๊ฐ์ฒด์ ํฌ๊ธฐ๊ฐ 100 ์ดํ๋ผ๋ฉด 'LOW', 100 ์ด๊ณผ 1000 ์ดํ๋ผ๋ฉด 'MEDIUM', 1000 ์ด๊ณผ๋ผ๋ฉด 'HIGH' ๋ผ๊ณ ๋ถ๋ฅํฉ๋๋ค. ๋์ฅ๊ท ๊ฐ์ฒด์ ID(ID) ์ ๋ถ๋ฅ(SIZE)๋ฅผ ์ถ๋ ฅํ๋ SQL ๋ฌธ์ ์์ฑํด์ฃผ์ธ์.์ด๋ ๊ฒฐ๊ณผ๋ ๊ฐ์ฒด์ ID ์ ๋ํด ์ค
[4์ 30์ผ] - ์ฐ๊ฐ ํ๊ฐ์ ์์ ํด๋นํ๋ ํ๊ฐ ๋ฑ๊ธ ๋ฐ ์ฑ๊ณผ๊ธ ์กฐํํ๊ธฐ > ๋ฌธ์ HRDEPARTMENT, HREMPLOYEES, HR_GRADE ํ ์ด๋ธ์ ์ด์ฉํด ์ฌ์๋ณ ์ฑ๊ณผ๊ธ ์ ๋ณด๋ฅผ ์กฐํํ๋ คํฉ๋๋ค. ํ๊ฐ ์ ์๋ณ ๋ฑ๊ธ๊ณผ ๋ฑ๊ธ์ ๋ฐ๋ฅธ ์ฑ๊ณผ๊ธ ์ ๋ณด๊ฐ ์๋์ ๊ฐ์ ๋,
SQL ์๊ฐํ ์ฐ์ต์๋ SQLite ์นด์ค๋ค๋ ์ ๋ Mysql ์์ฆ ๋ฃ๋ ๋ฌ๋์คํผ์ฆ๋ GCP Bigquery ์์ ์ ์ ๋ฌธ์ฉ ๊ณต๋ถ๋ oracle ๋จธ๋ฆฌ๊ฐ ํผ๋์ค๋ฌ์์ (ํนํ ๋ ์งํจ์) ์ ๋ฆฌ๋ฅผ ํ๊ธฐ๋ก ๋ง์๋จน์๋ค ๐ฅฒ 1. ํ์๊ฐ ๋ฐํ - GCP Bigquery โ๏ธ CU
ํ ์ด๋ธ์ ํ๋ก์ ํธ ์์์ผ๊ณผ ์ข ๋ฃ์ผ์ด ๊ธฐ๋ก๋์ด์๊ณ , ๊ทธ ์ฐจ์ด๋ ๋ชจ๋ 1์ผ ์ฐจ.์ข ๋ฃ์ผ๊ณผ ๋์ผํ ์์์ผ์ด ์กด์ฌํ ๊ฒฝ์ฐ ํ๋ก์ ํธ๋ ์ข ๋ฃ๋์ง ์์๊ฒ์ด๊ณ ์ข ๋ฃ์ผ๊ณผ ๋์ผํ ์์์ผ์ด ์กด์ฌํ์ง ์๋๋ค๋ฉด ํ๋ก์ ํธ๋ ์ข ๋ฃ๋๊ฒ.์ข ๋ฃ๋ ํ๋ก์ ํธ์ ์์์ผ๊ณผ ์ข ๋ฃ์ผ์ ์ถ๋ ฅํ๋ ๊ฑธ๋ฆฐ ์ผ์๋๋ก ์ ๋ ฌํ ๊ฒ