- ์ฝ๋ฉํ ์คํธ์ ๋น์ถ๋๋ SQL ์ ํ์ ๋ํ ๋๋น
- ๋ฌธ์ ํ์ด์ ๋๋ถ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ก ์ ๋ํ ์ถ๊ฐ์ ์ธ ํ์ต
- ๋งค์ผ ์ต์ 1๋ฌธ์ ์ด์์ SQL ๋ฌธ์ ํ์ด Challenge
- ํ์
- ๋ด์ฉ์ ๋ฆฌ: Notion (์ ์ ์์ )
- ์ฝ๋๊ณต์ : Github
- ์ํต: Agit Talk
- 8.23 ~ 8.30๊น์ง ๊ธฐ๋ณธ SQL ๊ฐ๋ ์ ๋ํด W3School์ ๊ณต๋ถํฉ๋๋ค
- 8.31 ~ ๋ถํฐ ์์ค๊ด๋ฆฌ ์์ ๋ก ์ฝ๊ฒ ๋ฐฐ์ฐ๋ MySQL ์ด๋ผ๋ ์ฑ ์ผ๋ก ๋งค์ฃผ ์ปจํ ์ธ ๋ฅผ ์ ์ํ์ฌ ์ ๊ณตํด๋๋ฆด ์์ ์ ๋๋ค.
- Pandas์ SQL๋ฅผ ์ฌ์ฉํ์ฌ ๋์ผํ ์ถ๋ ฅ์ ๋ณด์ฌ์ฃผ๋ ๋ช ๋ น์ด๋ฅผ ์์ฑํด์ฃผ์ธ์
- ์์ฑ๋ ์ฝ๋๋ Github repository์ push ํด์ฃผ์ธ์
- ์ฑ ์ด ๋ง๋ฌด๋ฆฌ๋๋ ์ดํ๋ก SQL ์ค์ ๋ฌธ์ ํ์ด๋ฅผ ์งํํ๊ฒ ์ต๋๋ค
SQL์ Structured Query Language ๋๋ ์์ด๋ก Structured Query Language์ ์ฝ์์ ๋๋ค. Relational Database์ ์ฟผ๋ฆฌ ์ธ์ด์ ๋๋ค .
SELECT๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ๋ฅผ ์ ํํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ ํํ ์ด์ ์ง์ ํ๊ฑฐ๋ ๋ณํ๋ฅผ ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌ๋ฅผ ์ํํ ํ ์ด๋ธ์ ๋ชจ๋ ์ด์ ์ ํํ ์ ์์ต๋๋ค.
SELECT column1, column2 FROM table_nameSELECT * FROM table_name์ ํํ ํ๋์ ์ค๋ณต ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ ๋ ์ฝ๋๋ฅผ ์๋ตํฉ๋๋ค. ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ์ ํฌํจํ๋ ค๋ฉด SELECT ๋ฌธ์ ๋์ด๋ ๊ฐ ํ๋์ ๊ฐ์ ๊ณ ์ ํด์ผ ํฉ๋๋ค.
SELECT DISTINCT column1, column2, ...
FROM table_name;SELECT DISTINCT Country FROM Customers;SELECT COUNT(DISTINCT Country) FROM Customers;WHERE๋ ์กฐ๊ฑด์ ๋ฐ๋ผ ํน์ ํํฐ๋ฅผ ์ํํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
SELECT column1, column2, ...
FROM table_name
WHERE condition;SELECT * FROM Customers
WHERE Country='Mexico';SELECT * FROM Customers
WHERE CustomerID=1;WHERE๋ฅผ ์ฌ์ฉํ๋ฉด ๋ ผ๋ฆฌ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ์ ๋ณด๋ฅผ ๊ฒ์ํ๊ฑฐ๋ ๊ฒ์ ๋ฒ์๋ฅผ ์ ์ํ ์ ์์ต๋๋ค. ์๋๋ ์ฐ์ฐ์๊ฐ ์๋ ํ์ ๋๋ค.
| Operator | Description |
|---|---|
| = | Equal |
| > | Greater than |
| < | Less than |
| >= | Greater than or equal |
| <= | Less than or equal |
| <> | Not equal. Note: In some versions of SQL this operator may be written as != |
| BETWEEN | Between a certain range |
| LIKE | Search for a pattern |
| IN | To specify multiple possible values for a column |
์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ ๊ตฌ๋ฌธ
SELECT CustomerID, CustomerName FROM Customer
WHERE CustomerID > = 15 AND CustomerID <= 50AND, OR, NOT์ WHERE์ ๊ณผ ๊ฒฐํฉ ๋ ์์์ต๋๋ค.
AND, OR ์ฐ์ฐ์๋ ํ๊ฐ ์ด์์ ์กฐ๊ฑด์ ํํฐ๋ง ํ๋๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
AND
SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;OR
SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;NOT
SELECT column1, column2, ...
FROM table_name
WHERE NOT condition;AND Example
SELECT * FROM Customers
WHERE Country='Germany' AND City='Berlin';OR Example
SELECT * FROM Customers
WHERE City='Berlin' OR City='Mรผnchen';NOT Example
SELECT * FROM Customers
WHERE NOT Country='Germany';ORDER BY ํค์๋๋ ๊ฒฐ๊ณผ๋ฅผ ์ค๋ฆ์ฐจ์ ๋๋ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฒฐ๊ณผ๋ ์ค๋ฆ์ฐจ์์ผ๋ก ๋ฐํ๋ฉ๋๋ค. ๋ฐ๋ผ์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ค๋ฉด ์ ๋ ฌํ ์ด ์ด๋ฆ ๋ค์ DESC ํค์๋๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
ORDER BY Syntax
SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;ORDER BY DESC Example
SELECT * FROM Customers
ORDER BY Country DESC;ORDER BY Several Columns Example
SELECT * FROM Customers
ORDER BY Country, CustomerName;ORDER BY Several Columns Example 2
SELECT * FROM Customers
ORDER BY Country ASC, CustomerName DESC;