SQL

๋ฐฐ์†ก ์˜ˆ์ •์ผ ์˜ˆ์ธก ์„ฑ๊ณต๊ณผ ์‹คํŒจ -- ์ตœ์ข…SELECT strftime('%Y-%m-%d', order_purchase_timestamp) as "purchase_date", SUM(CASE WHEN order_estimated_delivery_date >= order_delivered_customer_date THEN 1 ELSE 0 END) as "success", SUM(CASE WHEN order_estimated_delivery_date    # ์ ‘๊ทผ ๋ฐฉ์‹ 1. success์™€ fail ์ผ€์ด์Šค๋ฅผ ๊ฐœ๋ณ„ ์ปฌ๋Ÿผ์œผ๋กœ ๋งŒ๋“ค์–ด์•ผ๊ฒ ๋‹ค.2. SUM (ํ˜น์€ COUNT๋„ ์ƒ๊ด€์—†์Œ) ์ง‘๊ณ„ ํ›„ ์ผ์ž๋ณ„ ๊ทธ๋ฃนํ™”ํ•ด์•ผ๊ฒ ๋‹ค.3. ๊ธฐํƒ€ ์กฐ๊ฑด๋“ค ์ถฉ์กฑ e.g., 17๋…„ 1์›” ๋ฐ์ดํ„ฐ๋งŒ, ๋‚ ์งœ ์˜ค๋ฆ„์ฐจ์ˆœ   # ๋ฐฐ์šด์  1. SQLite..
1๏ธโƒฃ ์„œ๋ธŒ์ฟผ๋ฆฌ (Subquery) SQL ๊ตฌ๋ฌธ ๋‚ด์— ํฌํ•จ๋œ ์ฟผ๋ฆฌ, (๋ฉ”์ธ)์ฟผ๋ฆฌ ์† ์ฟผ๋ฆฌ โœ… ๋ชฉ์  ๋ฐ์ดํ„ฐ ํ•„ํ„ฐ๋ง ๋ณต์žกํ•œ ์ง‘๊ณ„ JOIN โœ… ์œ„์น˜ SELECT ๋ฌธ FROM ์ ˆ WHERE ์ ˆ HAVING ์ ˆ ORDER BY ์ ˆ โœ… ์œ ํ˜• ๋ฉ”์ธ ์ฟผ๋ฆฌ์™€์˜ ์—ฐ๊ด€์„ฑ - ๋น„์ƒ๊ด€ ์„œ๋ธŒ์ฟผ๋ฆฌ ์•„๋ฌด๊ฒƒ๋„ ์ฐธ์กฐํ•˜์ง€ ์•Š๊ณ , ์—ฐ๊ณ„๋˜์ง€ ์•Š๊ณ , ๋‹จ๋…์œผ๋กœ ์‹คํ–‰๋˜๋Š” ์„œ๋ธŒ์ฟผ๋ฆฌ ๋ฉ”์ธ ํ…Œ์ด๋ธ”๊ณผ ์กฐ์ธ ์กฐ๊ฑด์ด ๊ฑธ๋ฆฌ์ง€ ์•Š๋Š” ์„œ๋ธŒ์ฟผ๋ฆฌ ์—ฐ์‚ฐ์ž(=, , , =) + [ all / any / in ] ์‚ฌ์šฉํ•œ ์กฐ๊ฑด ๋ถ€์—ฌ ๊ฐ€๋Šฅ -- ๋น„์ƒ๊ด€ ์„œ๋ธŒ์ฟผ๋ฆฌ -- (์˜ˆ์‹œ) ์ธ๋„(India)์— ์—†๋Š” ๋ชจ๋“  ๋„์‹œ๋ฅผ ๋ฐ˜ํ™˜ SELECT city_id, city_name FROM city WHERE country_id (SELECT country_id FROM country WHER..
1๏ธโƒฃ ๋ทฐ (View) DB์—์„œ ํ•˜๋‚˜ ์ด์ƒ์˜ ํ…Œ์ด๋ธ”๋กœ๋ถ€ํ„ฐ ํŒŒ์ƒ๋œ ๊ฐ€์ƒ ํ…Œ์ด๋ธ” ํ…Œ์ด๋ธ”๊ณผ ๋‹ฌ๋ฆฌ ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š์Œ ex. ํ…Œ์ด๋ธ”์„ ๋น„๊ณต๊ฐœ๋กœ ์œ ์ง€ํ•˜๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ๋ทฐ ์ง‘ํ•ฉ์„ ํ†ตํ•ด์„œ๋งŒ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋„๋ก DB ์„ค๊ณ„ 2๏ธโƒฃ ํŠน์ง• ๊ฐ€์ƒ ํ…Œ์ด๋ธ” ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š์Œ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ ๋ทฐ๋ฅผ ํ†ตํ•ด ์ •์˜ํ•œ ์ฟผ๋ฆฌ๋Š” ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ ๋ฐ์ดํ„ฐ ๋ณด์•ˆ ๋ทฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ๋ฐ์ดํ„ฐ๋งŒ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋…ธ์ถœ ๊ฐ€๋Šฅ ๋ฐ์ดํ„ฐ ์ง‘๊ณ„ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์ „ ์ง‘๊ณ„ํ•˜์—ฌ DB์— ์ €์žฅํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์—ฌ์คŒ์œผ๋กœ์„œ ์„ค๊ณ„์˜ ์œ ์—ฐ์„ฑ ํ–ฅ์ƒ ๋‹จ์ˆœํ™” ๋ณต์žกํ•œ ์ฟผ๋ฆฌ๋ฅผ ๋ทฐ๋กœ ์ •์˜ํ•˜์—ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งŒ๋“ฆ 3๏ธโƒฃ ๊ตฌ์กฐ -- ๋ทฐ ๊ตฌ์กฐ CREATE VIEW view_name AS SELECT col1, col2, … FROM table; -- ๋ทฐ ์˜ˆ์‹œ CREATE VIEW EmailVie..
1๏ธโƒฃ INSERT ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ/์‚ฝ์ž…ํ•˜๋Š” ๋ช…๋ น์–ด โœ… ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ• ์ปฌ๋Ÿผ ๋ฆฌ์ŠคํŠธ ๋ช…์‹œํ•˜๊ธฐ ์–ด๋–ค ์ปฌ๋Ÿผ์— ๊ฐ’์„ ๋„ฃ์„์ง€ ๋ช…์‹œ ์ปฌ๋Ÿผ ์ˆœ์„œ์— ๋งž๊ฒŒ ์ž‘์„ฑ ์ปฌ๋Ÿผ ๋ฆฌ์ŠคํŠธ ๋ช…์‹œํ•˜์ง€ ์•Š๊ธฐ ๋ชจ๋“  ์ปฌ๋Ÿผ์— ๊ฐ’์„ ๋„ฃ์„ ๊ฒƒ์ด๋ผ๋Š” ์˜๋ฏธ ํ…Œ์ด๋ธ”์—์„œ ์ •์˜๋œ ์ปฌ๋Ÿผ ๊ฐœ์ˆ˜์— ๋งž์ถฐ ์ˆœ์„œ๋Œ€๋กœ ๊ฐ’์„ ์ž…๋ ฅ โœ… ๊ตฌ์กฐ -- โ‘  ์ปฌ๋Ÿผ ๋ฆฌ์ŠคํŠธ ๋ช…์‹œ INSERT INTO table1 (col1, col2, …) VALUES (val1, val2, …) -- โ‘  ์˜ˆ์‹œ INSERT INTO player (name, height, weight) VALUES ('KIM', 170, 65) -- โ‘ก ์ปฌ๋Ÿผ ๋ฆฌ์ŠคํŠธ ๋ช…์‹œ X INSERT INTO table1 VALUES (val1, val2, …) -- โ‘ก ์˜ˆ์‹œ INSERT INTO player VALUES (..
1๏ธโƒฃ DDL (Data Definition Language) : ๋ฐ์ดํ„ฐ ์ •์˜ ์–ธ์–ด ๊ด€๊ณ„ํ˜• DB์˜ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•˜๋Š” ์–ธ์–ด CREATE : ํ…Œ์ด๋ธ” ์ƒ์„ฑ ALTER, RENAME : ๋ณ€๊ฒฝ DROP : ์‚ญ์ œ 2๏ธโƒฃ DML (Data Manipulation Language) : ๋ฐ์ดํ„ฐ ์กฐ์ž‘ ์–ธ์–ด ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ์–ธ์–ด INSERT : ๋ฐ์ดํ„ฐ ์‚ฝ์ž… SELECT : ์กฐํšŒ UPDATE : ์ˆ˜์ • DELETE : ์‚ญ์ œ 3๏ธโƒฃ DCL (Data Control Language) : ๋ฐ์ดํ„ฐ ์ œ์–ด ์–ธ์–ด DB ์ ‘๊ทผ, ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•œ ์‚ฌ์šฉ ๊ถŒํ•œ์„ ๊ด€๋ฆฌ(๋ถ€์—ฌ/๋ฐ•ํƒˆ)ํ•˜๋Š” ์–ธ์–ด GRANT : ๋ถ€์—ฌ REVOKE : ํšŒ์ˆ˜ 4๏ธโƒฃ TCL (Transaction Control Language) : ํŠธ๋žœ์žญ์…˜ ์ œ์–ด ์–ธ์–ด DML์—์„œ ์กฐ์ž‘๋œ ๊ฒฐ๊ณผ..
ํ–‰ํŒฝ
'SQL' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก