SELECT : ๋ฐ์ดํฐ์ ์ ํฌํจ๋ ํน์ฑ ๊ณ ๋ฅด๊ธฐ
SELECT 'hello world';
SELECT 2;
SELECT 15 + 3;
FROM : ํ ์ด๋ธ๊ณผ ๊ด๋ จ์ด ์๋ ๊ฒฝ์ฐ ํ์๋ก ๋ช ์ํด์ผํ๋ ๋ช ๋ น์ด, ๊ฒฐ๊ณผ๋ค์ ๋์ถํด๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ ๋ช ์
SELECT ํน์ฑ_1, ํน์ฑ_2
FROM ํ
์ด๋ธ_์ด๋ฆ;
-- ์์
SELECT customers.FirstName, customers.LastName
FROM customers;
SELECT *
FROM ํ
์ด๋ธ_์ด๋ฆ;
-- ์์
SELECT * # *๋ ์์ผ๋์นด๋(wildcard)๋ก ์ ๋ถ ์ ํํ ๋ ์ฌ์ฉ
FROM customers;
WHERE : ์ ํ์ ์ผ๋ก ํํฐ ์ญํ ์ ํ๋ ์ฟผ๋ฆฌ๋ฌธ
# ํน์ ๊ฐ๊ณผ ๋์ผํ ๋ฐ์ดํฐ ์ฐพ๊ธฐ
SELECT ํน์ฑ_1, ํน์ฑ_2
FROM ํ
์ด๋ธ_์ด๋ฆ
WHERE ํน์ฑ_1 = "ํน์ ๊ฐ";
-- ์์
SELECT customers.FirstName, customers.LastName
FROM customers
WHERE customers.FirstName = 'Helena';
# ํน์ ๊ฐ์ ์ ์ธํ ๋ฐ์ดํฐ ์ฐพ๊ธฐ
SELECT ํน์ฑ_1, ํน์ฑ_2
FROM ํ
์ด๋ธ_์ด๋ฆ
WHERE ํน์ฑ_2 <> "ํน์ ๊ฐ";
-- ์์
SELECT customers.FirstName, customers.LastName
FROM customers
WHERE customers.FirstName <> 'Helena';
# ํน์ ๊ฐ๋ณด๋ค ํฌ๊ฑฐ๋ ์์ ๋ฐ์ดํฐ๋ฅผ ํํฐํ ๋์๋ '<', '>', ๋น๊ตํ๋ ๊ฐ์ ํฌํจํ๋ '์ด์', '์ดํ' ๊ฐ์ '<=', '>=' ์ ์ฌ์ฉํฉ๋๋ค.
SELECT ํน์ฑ_1, ํน์ฑ_2
FROM ํ
์ด๋ธ_์ด๋ฆ
WHERE ํน์ฑ_1 > "ํน์ ๊ฐ";
SELECT ํน์ฑ_1, ํน์ฑ_2
FROM ํ
์ด๋ธ_์ด๋ฆ
WHERE ํน์ฑ_1 <= "ํน์ ๊ฐ";
# ๋ฌธ์์ด์์ ํน์ ๊ฐ๊ณผ ๋น์ทํ ๊ฐ๋ค์ ํํฐํ ๋์๋ LIKE ์ '%' ํน์ '*' ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
SELECT ํน์ฑ_1, ํน์ฑ_2
FROM ํ
์ด๋ธ_์ด๋ฆ
WHERE ํน์ฑ_2 LIKE "%ํน์ ๋ฌธ์์ด%";
-- ์์
SELECT customers.FirstName, customers.LastName
FROM customers
WHERE customers.LastName LIKE '%han%';
# ๋ฆฌ์คํธ์ ๊ฐ๋ค๊ณผ ์ผ์นํ๋ ๋ฐ์ดํฐ๋ฅผ ํํฐํ ๋์๋ IN ์ ์ฌ์ฉํฉ๋๋ค.
SELECT ํน์ฑ_1, ํน์ฑ_2
FROM ํ
์ด๋ธ_์ด๋ฆ
WHERE ํน์ฑ_2 IN ("ํน์ ๊ฐ_1", "ํน์ ๊ฐ_2");
-- ์์
SELECT customers.FirstName, customers.LastName
FROM customers
WHERE customers.LastName IN ('Hansen', 'Johansson');
# ๊ฐ์ด ์๋ NULL ๊ณผ ๊ฐ์ ๊ฒฝ์ฐ๋ฅผ ์ฐพ์ ๋์๋ IS ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
SELECT *
FROM ํ
์ด๋ธ_์ด๋ฆ
WHERE ํน์ฑ_1 IS NULL;
-- ์์
SELECT *
FROM employees
WHERE employees.ReportsTo is NULL;
# ๊ฐ์ด ์๋ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ ๋์๋ NOT ์ ์ถ๊ฐํด ์ด์ฉํฉ๋๋ค.
SELECT *
FROM ํ
์ด๋ธ_์ด๋ฆ
WHERE ํน์ฑ_1 IS NOT NULL;
ORDER BY : ๋๋ ค๋ฐ๋ ๋ฐ์ดํฐ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ป๊ฒ ์ ๋ ฌํ ์ง(๊ธฐ๋ณธ ์ ๋ ฌ์ ์ค๋ฆ์ฐจ์)
SELECT *
FROM ํ
์ด๋ธ_์ด๋ฆ
ORDER BY ํน์ฑ_1;
-- ์์
SELECT *
FROM employees
ORDER BY employees.EmployeeId; # ASC๊ฐ ์ค๋ฆ์ฐจ์์ธ๋ฐ ์์จ๋ ๊ธฐ๋ณธ ์ค๋ฆ์ฐจ์
SELECT *
FROM ํ
์ด๋ธ_์ด๋ฆ
ORDER BY ํน์ฑ_1 DESC;
-- ์์
SELECT *
FROM employees
ORDER BY employees.EmployeeId DESC; # ๋ด๋ฆผ์ฐจ์
LIMIT : ๋๋ ค๋ฐ๋ ๋ฐ์ดํฐ ๊ฒฐ๊ณผ์ ๊ฐฏ์๋ฅผ ์ ํ ๋, ์ฟผ๋ฆฌ๋ฌธ์์ ์ฌ์ฉํ ๋๋ ๋งจ ๋ง์ง๋ง์ ์์ฑ
SELECT *
FROM ํ
์ด๋ธ_์ด๋ฆ
LIMIT 10;
-- ์์
SELECT *
FROM customers
LIMIT 10;
DISTINCT : ์ ๋ํฌํ ๊ฐ๋ค์ ๋ฐ๊ณ ์ถ์ ๋, SELECT
๋ค์ ๋ถ์ฌ์ ์ฌ์ฉ
# ํน์ฑ_1 ๊ธฐ์ค์ผ๋ก ์ ๋ํฌํ ๊ฐ๋ค๋ง ์ ํ
SELECT DISTINCT ํน์ฑ_1
FROM ํ
์ด๋ธ_์ด๋ฆ;
-- ์์
SELECT DISTINCT employees.Title
FROM employees;
# ํน์ฑ_1, ํน์ฑ_2, ํน์ฑ_3 ์ ์ ๋ํฌํ '์กฐํฉ' ๊ฐ๋ค์ ์ ํ
SELECT
DISTINCT
ํน์ฑ_1
,ํน์ฑ_2
,ํน์ฑ_3
FROM ํ
์ด๋ธ_์ด๋ฆ;
INNER JOIN : ์๋ก ๊ณตํต๋ ๋ถ๋ถ์ผ๋ก๋ง ์ฐ๊ฒฐ (INNER JOIN๊ณผ JOIN ๊ฐ์ ๊ฒ)
SELECT *
FROM ํ
์ด๋ธ_1
JOIN ํ
์ด๋ธ_2 ON ํ
์ด๋ธ_1.ํน์ฑ_A = ํ
์ด๋ธ_2.ํน์ฑ_B;
-- ์์
SELECT
c.FirstName || ' ' || c.LastName AS 'Customer Name',
e.Firstname || ' ' || e.LastName AS 'Employee Name'
FROM customers AS c
JOIN employees AS e ON c.SupportRepId = e.EmployeeId;
OUTER JOIN : ๊ธฐ๋ณธ์ ์ผ๋ก LEFT, RIGHT, FULL์ด ์์
# LEFT inclusive
SELECT *
FROM ํ
์ด๋ธ_1
LEFT OUTER JOIN ํ
์ด๋ธ_2 ON ํ
์ด๋ธ_1.ํน์ฑ_A = ํ
์ด๋ธ_2.ํน์ฑ_B
# RIGHT inclusive(SQLite์์๋ ์ง์ X, ์์๋ฅผ ๋ฐ๊พธ์ด LEFT JOIN์ ์ด์ฉ)
SELECT *
FROM ํ
์ด๋ธ_1
RIGHT OUTER JOIN ํ
์ด๋ธ_2 ON ํ
์ด๋ธ_1.ํน์ฑ_A = ํ
์ด๋ธ_2.ํน์ฑ_B
์ฌ๋ฌ๊ฐ ์ฌ์ฉ ํด๋ณด๊ธฐ ์์
'Brazil' ์์ ์จ ๊ณ ๊ฐ๋ค์ ๋์๋ณ๋ก ๋ฌถ์ ๋ค์ ๊ฐ ๋์ ์์ ๋ฐ๋ผ ๋ด๋ฆ์ฐจ์ ์ ๋ ฌ ํ CustomerId ์ ๋ฐ๋ผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๊ฒฐ๊ณผ์ 3๊ฐ๋ง ๋ฐ๋ ์์
SELECT c.CustomerId, c.FirstName, count(c.City) as 'City Count'
FROM customers AS c
JOIN employees AS e ON c.SupportRepId = e.EmployeeId
WHERE c.Country = 'Brazil'
GROUP BY c.City
ORDER BY 3 DESC, c.CustomerId ASC
LIMIT 3;
์ถ๊ฐ
๊ธฐ๋ณธ
Select
Where
And, Or, Not
Order By
Insert Into
Null Values
Update
Delete
Count
Like
Wildcards
Aliases
Joins
Inner Join
Left Join
Right Join
Group By
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ จ
SQL Create DB
SQL Drop DB
SQL Create Table
SQL Drop Table
SQL Alter Table
SQL Not Null
SQL Unique
SQL Primary Key
SQL Foreign Key
SQL Default
SQL Auto Increment
SQL Dates
'๐ฟ Data > ์ด๋ชจ์ ๋ชจ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
SQL_SELECT์ ์คํ ์์ (0) | 2022.01.20 |
---|---|
SQL_SQLite ์์ฃผ ์ฐ๋ ๋ฌธ๋ฒ(2) (0) | 2022.01.20 |
Boosting(vs bagging) (0) | 2022.01.06 |
Model Interpreting (0) | 2022.01.06 |
Data Wrangling (0) | 2022.01.04 |