๋ฐ์ดํ„ฐ ์‚ฌ์ด์–ธ์Šค 100๋ฒˆ์˜ ๋…ธํฌ(๊ตฌ์กฐํ™” ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌํŽธ) โ€“ SQL Part 1 (Q1 to Q20)

๋ฐ์ดํ„ฐ ์‚ฌ์ด์–ธ์Šค
ํ•ด์„ค:

์ด ์ฝ”๋“œ๋Š” ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ธ SQL(Structured Query Language)๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ์ฝ”๋“œ์—์„œ๋Š” "receipt"๋ผ๋Š” ์ด๋ฆ„์˜ ํ…Œ์ด๋ธ”์„ ์กฐํšŒํ•˜๊ณ  ๋ณ„ํ‘œ(*) ์™€์ผ๋“œ์นด๋“œ ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ์—ด๊ณผ ํ–‰์„ ์„ ํƒํ•˜๊ณ  ์žˆ๋‹ค. ์ฟผ๋ฆฌ ๋์— ์žˆ๋Š” "LIMIT 10" ๊ตฌ๋ฌธ์€ ๊ฒฐ๊ณผ ์ง‘ํ•ฉ์„ ํ…Œ์ด๋ธ”์˜ ์ฒ˜์Œ 10๊ฐœ์˜ ํ–‰์œผ๋กœ ์ œํ•œํ•˜๊ณ  ์žˆ๋‹ค.

๊ฐ„๋‹จํžˆ ๋งํ•ด, ์ด ์ฝ”๋“œ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ 'receipt' ํ…Œ์ด๋ธ”์—์„œ ์ฒ˜์Œ 10๊ฐœ์˜ ํ–‰์„ ์ถ”์ถœํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. 'receipt' ํ…Œ์ด๋ธ” ๋ฐ์ดํ„ฐ์˜ ์ •ํ™•ํ•œ ์˜๋ฏธ์™€ ๊ตฌ์กฐ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์Šคํ‚ค๋งˆ์™€ ์ €์žฅ๋œ ์ •๋ณด์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋‹ค.
ย 
ย 
ํ•ด์„ค:

์ด ์ฝ”๋“œ๋„ SQL(Structured Query Language)๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ, "receipt"๋ผ๋Š” ์ด๋ฆ„์˜ ํ…Œ์ด๋ธ”์„ ์กฐํšŒํ•˜๊ณ  ์žˆ๋‹ค.

SELECT ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ์—ด "sales_ymd", "customer_id", "product_cd", "amount"๋ฅผ ์„ ํƒํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์—ด๋“ค์€ ํŒ๋งค์ผ, ๊ตฌ๋งค๋ฅผ ํ•œ ๊ณ ๊ฐ์˜ ID, ๊ตฌ๋งคํ•œ ์ƒํ’ˆ์˜ ์ฝ”๋“œ, ๊ตฌ๋งค ๊ธˆ์•ก ๋“ฑ ๊ตฌ๋งค ๊ฑฐ๋ž˜์™€ ๊ด€๋ จ๋œ ๋‹ค์–‘ํ•œ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

์ฟผ๋ฆฌ ๋์— ์žˆ๋Š” "LIMIT 10" ๊ตฌ๋ฌธ์€ ๊ฒฐ๊ณผ ์ง‘ํ•ฉ์„ ํ…Œ์ด๋ธ”์˜ ์ฒซ 10๊ฐœ์˜ ํ–‰์œผ๋กœ ์ œํ•œํ•œ๋‹ค. ์ฆ‰, ์ด ์ฟผ๋ฆฌ๋Š” 'RECIPATE' ํ…Œ์ด๋ธ”์— ๊ธฐ๋ก๋œ ์ฒ˜์Œ 10๊ฐœ์˜ ๊ฑฐ๋ž˜ ๋ฐ์ดํ„ฐ๋งŒ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

์š”์•ฝํ•˜๋ฉด, ์ด ์ฝ”๋“œ๋Š” 'sales_ymd', 'customer_id', 'product_cd', 'amount'๋ผ๋Š” ์ปฌ๋Ÿผ์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ 'receive' ํ…Œ์ด๋ธ”์— ๊ธฐ๋ก๋œ ์ฒ˜์Œ 10๊ฑด์˜ ๊ฑฐ๋ž˜์— ๋Œ€ํ•œ ํŠน์ • ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ด๋‹ค. 'RECEIVE' ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ์˜ ์ •ํ™•ํ•œ ์˜๋ฏธ์™€ ๊ตฌ์กฐ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์Šคํ‚ค๋งˆ์™€ ๊ทธ ์•ˆ์— ์ €์žฅ๋œ ์ •๋ณด์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋‹ค.

ย 

ย 
ํ•ด์„ค:

์ด ์ฝ”๋“œ๋„ SQL(Structured Query Language)๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ, "receipt"๋ผ๋Š” ์ด๋ฆ„์˜ ํ…Œ์ด๋ธ”์„ ์กฐํšŒํ•˜๊ณ  ์žˆ๋‹ค.

SELECT ๋ฌธ์€ "receive" ํ…Œ์ด๋ธ”์—์„œ ํŠน์ • ์ปฌ๋Ÿผ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๊ฒฝ์šฐ AS ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปฌ๋Ÿผ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์ปฌ๋Ÿผ์€ 'sales_ymd'์—์„œ 'sales_date'๋กœ ์ด๋ฆ„์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์ปฌ๋Ÿผ์ธ 'customer_id', 'product_cd', 'amount'๋Š” ์›๋ž˜ ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

์ฟผ๋ฆฌ ๋์— ์žˆ๋Š” "LIMIT 10" ๊ตฌ๋ฌธ์€ ๊ฒฐ๊ณผ ์ง‘ํ•ฉ์„ ํ…Œ์ด๋ธ”์˜ ์ฒ˜์Œ 10๊ฐœ์˜ ํ–‰์œผ๋กœ ์ œํ•œํ•œ๋‹ค. ์ฆ‰, ์ด ์ฟผ๋ฆฌ๋Š” 'RECIPATE' ํ…Œ์ด๋ธ”์— ๊ธฐ๋ก๋œ ์ฒ˜์Œ 10๊ฐœ์˜ ๊ฑฐ๋ž˜ ๋ฐ์ดํ„ฐ๋งŒ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

์š”์•ฝํ•˜๋ฉด, ์ด ์ฝ”๋“œ๋Š” ์ˆ˜์ •๋œ ์—ด ์ด๋ฆ„ 'sales_date', 'customer_id', 'product_cd', 'amount'๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ 'receive' ํ…Œ์ด๋ธ”์— ๊ธฐ๋ก๋œ ์ฒ˜์Œ 10๊ฑด์˜ ๊ฑฐ๋ž˜์— ๋Œ€ํ•œ ํŠน์ • ์—ด์„ ๊ฐ€์ ธ์˜จ๋‹ค. 'receive' ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ์˜ ์ •ํ™•ํ•œ ์˜๋ฏธ์™€ ๊ตฌ์กฐ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์Šคํ‚ค๋งˆ์™€ ์ €์žฅ๋œ ์ •๋ณด์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋‹ค.
ย 
ย 
ํ•ด์„ค:

์ด ์ฝ”๋“œ๋„ SQL(Structured Query Language)๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ, "receipt"๋ผ๋Š” ์ด๋ฆ„์˜ ํ…Œ์ด๋ธ”์„ ์กฐํšŒํ•˜๊ณ  ์žˆ๋‹ค.

SELECT ๋ฌธ์€ "receive" ํ…Œ์ด๋ธ”์—์„œ ํŠน์ • ๋ฐ์ดํ„ฐ ์ปฌ๋Ÿผ์„ ๊ฐ€์ ธ์˜ค๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ์„ ํƒ๋œ ์ปฌ๋Ÿผ์€ 'sales_ymd', 'customer_id', 'product_cd', 'amount'์ž…๋‹ˆ๋‹ค. ์ด ์—ด๋“ค์€ ํŒ๋งค์ผ, ๊ตฌ๋งคํ•œ ๊ณ ๊ฐ์˜ ID, ๊ตฌ๋งคํ•œ ์ƒํ’ˆ์˜ ์ฝ”๋“œ, ๊ตฌ๋งค ๊ธˆ์•ก ๋“ฑ ๊ตฌ๋งค ๊ฑฐ๋ž˜์™€ ๊ด€๋ จ๋œ ๋‹ค์–‘ํ•œ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

FROM ๋ฌธ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ '์˜์ˆ˜์ฆ' ํ…Œ์ด๋ธ”์„ ์ง€์ •ํ•œ๋‹ค.

WHERE ๊ตฌ๋ฌธ์€ ํŠน์ • ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ 'customer_id' ์ปฌ๋Ÿผ์ด 'CS018205000001'๊ณผ ๊ฐ™๋‹ค๋Š” ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„ํ„ฐ๋ง๋œ๋‹ค. ์ฆ‰, ์ด ์ฟผ๋ฆฌ๋Š” ID๊ฐ€ 'CS018205000001'์ธ ๊ณ ๊ฐ์ด ์ˆ˜ํ–‰ํ•œ ๊ฑฐ๋ž˜์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋งŒ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ด๋‹ค.

์š”์•ฝํ•˜๋ฉด, ์ด ์ฝ”๋“œ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ 'receipate' ํ…Œ์ด๋ธ”์—์„œ ํŠน์ • ์—ด์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š”๋ฐ, ID๊ฐ€ 'CS018205000001'์ธ ํŠน์ • ๊ณ ๊ฐ์ด ์ˆ˜ํ–‰ํ•œ ๊ฑฐ๋ž˜์— ๋Œ€ํ•ด์„œ๋งŒ ๊ฐ€์ ธ์˜จ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. 'receipate' ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ์˜ ์ •ํ™•ํ•œ ์˜๋ฏธ์™€ ๊ตฌ์กฐ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์Šคํ‚ค๋งˆ์™€ ์ €์žฅ๋œ ์ •๋ณด์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง„๋‹ค.

ย 
ํ•ด์„ค:

์ด ์ฝ”๋“œ๋„ SQL(Structured Query Language)๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ, "receipt"๋ผ๋Š” ์ด๋ฆ„์˜ ํ…Œ์ด๋ธ”์„ ์กฐํšŒํ•˜๊ณ  ์žˆ๋‹ค.

SELECT ๋ฌธ์€ "receive" ํ…Œ์ด๋ธ”์—์„œ ํŠน์ • ๋ฐ์ดํ„ฐ ์ปฌ๋Ÿผ์„ ๊ฐ€์ ธ์˜ค๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ์„ ํƒ๋œ ์ปฌ๋Ÿผ์€ 'sales_ymd', 'customer_id', 'product_cd', 'amount'์ž…๋‹ˆ๋‹ค. ์ด ์—ด๋“ค์€ ํŒ๋งค์ผ, ๊ตฌ๋งคํ•œ ๊ณ ๊ฐ์˜ ID, ๊ตฌ๋งคํ•œ ์ƒํ’ˆ์˜ ์ฝ”๋“œ, ๊ตฌ๋งค ๊ธˆ์•ก ๋“ฑ ๊ตฌ๋งค ๊ฑฐ๋ž˜์™€ ๊ด€๋ จ๋œ ๋‹ค์–‘ํ•œ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

FROM ๋ฌธ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ '์˜์ˆ˜์ฆ' ํ…Œ์ด๋ธ”์„ ์ง€์ •ํ•œ๋‹ค.

WHERE ๊ตฌ๋ฌธ์€ ํŠน์ • ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ์ด ๊ฒฝ์šฐ ๋‘ ๊ฐ€์ง€ ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„ํ„ฐ๋ง๋ฉ๋‹ˆ๋‹ค.

customer_id ์ปฌ๋Ÿผ์ด 'CS018205000001'๊ณผ ๊ฐ™์•„์•ผ ํ•œ๋‹ค.
๊ธˆ์•ก ์ปฌ๋Ÿผ์€ 1000 ์ด์ƒ์ด์–ด์•ผ ํ•œ๋‹ค.

์ฆ‰, ์ด ์ฟผ๋ฆฌ๋Š” ID๊ฐ€ 'CS018205000001'์ธ ๊ณ ๊ฐ์ด ๊ฑฐ๋ž˜ํ•œ ๊ธˆ์•ก์ด 1000 ์ด์ƒ์ธ ๋ฐ์ดํ„ฐ๋งŒ ๊ฐ€์ ธ์˜จ๋‹ค๋Š” ๋œป์ด๋‹ค.

์š”์•ฝํ•˜๋ฉด, ์ด ์ฝ”๋“œ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ 'receive' ํ…Œ์ด๋ธ”์—์„œ ํŠน์ • ์—ด์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š”๋ฐ, ID๊ฐ€ 'CS018205000001'์ธ ํŠน์ • ๊ณ ๊ฐ์ด ๊ฑฐ๋ž˜ํ•œ ๊ฑฐ๋ž˜ ์ค‘ ๊ธˆ์•ก์ด 1000 ์ด์ƒ์ธ ๊ฑฐ๋ž˜๋งŒ ๋Œ€์ƒ์œผ๋กœ ํ•œ๋‹ค. ์˜์ˆ˜์ฆ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ์˜ ์ •ํ™•ํ•œ ์˜๋ฏธ์™€ ๊ตฌ์กฐ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์Šคํ‚ค๋งˆ์™€ ๊ทธ ์•ˆ์— ์ €์žฅ๋œ ์ •๋ณด์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง„๋‹ค.

ย 

ํ•ด์„ค:

์ด ์ฝ”๋“œ๋„ SQL(Structured Query Language)๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ, "receipt"๋ผ๋Š” ์ด๋ฆ„์˜ ํ…Œ์ด๋ธ”์„ ์กฐํšŒํ•˜๊ณ  ์žˆ๋‹ค.

SELECT ๋ฌธ์€ "receive" ํ…Œ์ด๋ธ”์—์„œ ํŠน์ • ๋ฐ์ดํ„ฐ ์ปฌ๋Ÿผ์„ ๊ฐ€์ ธ์˜ค๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ์„ ํƒ๋œ ์ปฌ๋Ÿผ์€ 'sales_ymd', 'customer_id', 'product_cd', 'quantity', 'amount'์ž…๋‹ˆ๋‹ค. ์ด ์—ด๋“ค์€ ํŒ๋งค์ผ, ๊ตฌ๋งคํ•œ ๊ณ ๊ฐ์˜ ID, ๊ตฌ๋งคํ•œ ์ƒํ’ˆ์˜ ์ฝ”๋“œ, ๊ตฌ๋งคํ•œ ์ƒํ’ˆ์˜ ์ˆ˜๋Ÿ‰, ๊ตฌ๋งค ๊ธˆ์•ก ๋“ฑ ๊ตฌ๋งค ๊ฑฐ๋ž˜์™€ ๊ด€๋ จ๋œ ๋‹ค์–‘ํ•œ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

FROM ๋ฌธ์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ '์˜์ˆ˜์ฆ' ํ…Œ์ด๋ธ”์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

WHERE ๊ตฌ๋ฌธ์€ ํŠน์ • ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ์ด ๊ฒฝ์šฐ ๋‘ ๊ฐ€์ง€ ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„ํ„ฐ๋ง๋ฉ๋‹ˆ๋‹ค.

customer_id ์ปฌ๋Ÿผ์ด 'CS018205000001'๊ณผ ๊ฐ™์•„์•ผ ํ•œ๋‹ค.
ํŠธ๋žœ์žญ์…˜์€ ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ์กฐ๊ฑด ์ค‘ ํ•˜๋‚˜ ์ด์ƒ์„ ์ถฉ์กฑํ•ด์•ผ ํ•œ๋‹ค: a. '๊ธˆ์•ก' ์ปฌ๋Ÿผ์ด 1000 ์ด์ƒ์ผ ๊ฒƒ. b. '์ˆ˜๋Ÿ‰' ์ปฌ๋Ÿผ์ด 5 ์ด์ƒ์ผ ๊ฒƒ.

์ฆ‰, ์ด ์ฟผ๋ฆฌ๋Š” ID๊ฐ€ 'CS018205000001'์ธ ๊ณ ๊ฐ์ด ๊ฑฐ๋ž˜ํ•œ ๊ธˆ์•ก์ด 1000 ์ด์ƒ ๋˜๋Š” ์ˆ˜๋Ÿ‰์ด 5 ์ด์ƒ์ธ ๋ฐ์ดํ„ฐ๋งŒ ๊ฐ€์ ธ์˜จ๋‹ค๋Š” ๋œป์ด๋‹ค.

์š”์•ฝํ•˜๋ฉด, ์ด ์ฝ”๋“œ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ 'receipate' ํ…Œ์ด๋ธ”์—์„œ ํŠน์ • ์—ด์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š”๋ฐ, ID๊ฐ€ 'CS018205000001'์ธ ํŠน์ • ๊ณ ๊ฐ์ด ์ˆ˜ํ–‰ํ•œ ๊ฑฐ๋ž˜ ์ค‘ ๊ธˆ์•ก์ด 1000 ์ด์ƒ ๋˜๋Š” ์ˆ˜๋Ÿ‰์ด 5 ์ด์ƒ์ธ ๊ฑฐ๋ž˜๋งŒ์„ ๋Œ€์ƒ์œผ๋กœ ํ•œ๋‹ค. ์˜์ˆ˜์ฆ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ์˜ ์ •ํ™•ํ•œ ์˜๋ฏธ์™€ ๊ตฌ์กฐ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์Šคํ‚ค๋งˆ์™€ ๊ทธ ์•ˆ์— ์ €์žฅ๋œ ์ •๋ณด์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง„๋‹ค.
ย 
ํ•ด์„ค:

์ด ์ฝ”๋“œ๋„ SQL(Structured Query Language)๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ, "receipt"๋ผ๋Š” ์ด๋ฆ„์˜ ํ…Œ์ด๋ธ”์„ ์กฐํšŒํ•˜๊ณ  ์žˆ๋‹ค.

SELECT ๋ฌธ์€ "receive" ํ…Œ์ด๋ธ”์—์„œ ํŠน์ • ๋ฐ์ดํ„ฐ ์ปฌ๋Ÿผ์„ ๊ฐ€์ ธ์˜ค๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ์„ ํƒ๋œ ์ปฌ๋Ÿผ์€ 'sales_ymd', 'customer_id', 'product_cd', 'amount'์ž…๋‹ˆ๋‹ค. ์ด ์—ด๋“ค์€ ํŒ๋งค์ผ, ๊ตฌ๋งคํ•œ ๊ณ ๊ฐ์˜ ID, ๊ตฌ๋งคํ•œ ์ƒํ’ˆ์˜ ์ฝ”๋“œ, ๊ตฌ๋งค ๊ธˆ์•ก ๋“ฑ ๊ตฌ๋งค ๊ฑฐ๋ž˜์™€ ๊ด€๋ จ๋œ ๋‹ค์–‘ํ•œ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

FROM ๋ฌธ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ '์˜์ˆ˜์ฆ' ํ…Œ์ด๋ธ”์„ ์ง€์ •ํ•œ๋‹ค.

WHERE ๊ตฌ๋ฌธ์€ ํŠน์ • ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ์ด ๊ฒฝ์šฐ ๋‘ ๊ฐ€์ง€ ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„ํ„ฐ๋ง๋ฉ๋‹ˆ๋‹ค.

customer_id ์ปฌ๋Ÿผ์ด 'CS018205000001'๊ณผ ๊ฐ™์•„์•ผ ํ•œ๋‹ค.
๊ธˆ์•ก ์ปฌ๋Ÿผ์€ 1000์—์„œ 2000 ์‚ฌ์ด์—ฌ์•ผ ํ•œ๋‹ค.

์ฆ‰, ์ด ์ฟผ๋ฆฌ๋Š” ID๊ฐ€ 'CS018205000001'์ธ ๊ณ ๊ฐ์ด ๊ฑฐ๋ž˜ํ•œ ๊ธˆ์•ก์ด 1000์—์„œ 2000 ์‚ฌ์ด์ธ ๋ฐ์ดํ„ฐ๋งŒ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ด๋‹ค(๋‹จ, 1000์—์„œ 2000 ์‚ฌ์ด๋Š” ํฌํ•จ๋œ๋‹ค).

WHERE ์ ˆ์˜ BETWEEN ์—ฐ์‚ฐ์ž๋Š” ๊ฐ’์˜ ๋ฒ”์œ„์— ๋”ฐ๋ผ ๊ฒฐ๊ณผ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ์ด ๊ฒฝ์šฐ '๊ธˆ์•ก' ์ปฌ๋Ÿผ์ด 1000์—์„œ 2000 ์‚ฌ์ด์— ์žˆ๋Š” ํŠธ๋žœ์žญ์…˜(ํฌํ•จ)์„ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์š”์•ฝํ•˜๋ฉด, ์ด ์ฝ”๋“œ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ 'receipt' ํ…Œ์ด๋ธ”์—์„œ ํŠน์ • ์—ด์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ์žˆ์ง€๋งŒ, ID๊ฐ€ 'CS018205000001'์ธ ํŠน์ • ๊ณ ๊ฐ์ด ์ˆ˜ํ–‰ํ•œ ๊ฑฐ๋ž˜ ์ค‘ ๊ธˆ์•ก์ด 1000์—์„œ 2000 ์‚ฌ์ด์ธ ๊ฑฐ๋ž˜๋กœ ์ œํ•œํ•˜๊ณ  ์žˆ๋‹ค. ์˜์ˆ˜์ฆ ํ…Œ์ด๋ธ” ๋ฐ์ดํ„ฐ์˜ ์ •ํ™•ํ•œ ์˜๋ฏธ์™€ ๊ตฌ์กฐ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์Šคํ‚ค๋งˆ์™€ ์ €์žฅ๋œ ์ •๋ณด์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง„๋‹ค.

ย 

ํ•ด์„ค:

์ด ์ฝ”๋“œ๋Š” SQL ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ฟผ๋ฆฌํ•˜๊ณ  ์žˆ๋‹ค.

์ด ์ฟผ๋ฆฌ๋Š” SELECT ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ "RECIPATE" ํ…Œ์ด๋ธ”์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์„ ํƒ๋œ ์ปฌ๋Ÿผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. "sales_ymd", "customer_id", "product_cd", "amount"์ž…๋‹ˆ๋‹ค.

์ด ์ฟผ๋ฆฌ๋Š” 'customer_id'๊ฐ€ 'CS018205000001'๊ณผ ๊ฐ™๊ณ  'product_cd'๊ฐ€ 'P0714019'์™€ ๊ฐ™์ง€ ์•Š์€ ๋ ˆ์ฝ”๋“œ๋งŒ ์„ ํƒํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๊ณ  ์žˆ๋‹ค.

์ฆ‰, ์ด ์ฟผ๋ฆฌ๋Š” customer_id 'CS018205000001'์— ๋Œ€ํ•ด product_cd๊ฐ€ 'P071401019'์ธ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ๋ ˆ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

์ด ์ฝ”๋“œ๋Š” Jupyter ๋…ธํŠธ๋ถ ๋‚ด์—์„œ SQL ๋งค์ง ๋ช…๋ น '%%sql'์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰๋˜๊ณ  ์žˆ๋‹ค. ์ด ๋ช…๋ น์„ ํ†ตํ•ด SQL ์ฝ”๋“œ๋ฅผ ๋…ธํŠธ๋ถ ๋‚ด์—์„œ ์ง์ ‘ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

ย 

ํ•ด์„ค:

์ด ์ฝ”๋“œ๋Š” SQL ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

SELECT ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ "store" ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ์ปฌ๋Ÿผ์„ ์„ ํƒํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์ฟผ๋ฆฌ๋Š” 'prefecture_cd'๊ฐ€ '13'๊ณผ ๊ฐ™์ง€ ์•Š๊ณ  'floor_area'๊ฐ€ 900 ์ดํ•˜์ธ ๋ ˆ์ฝ”๋“œ๋งŒ ์„ ํƒํ•จ์œผ๋กœ์จ ๋ฐ์ดํ„ฐ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๊ณ  ์žˆ๋‹ค.

์ฆ‰, ์ด ์ฟผ๋ฆฌ๋Š” 'store' ํ…Œ์ด๋ธ”์—์„œ 'prefecture_cd'๊ฐ€ 13 ์ดํ•˜์ด๊ณ  'floor_area'๊ฐ€ 900 ์ดํ•˜์ธ ๋ชจ๋“  ๋ ˆ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

์ด ์ฝ”๋“œ๋Š” Jupyter ๋…ธํŠธ๋ถ ๋‚ด์—์„œ SQL ๋งค์ง ๋ช…๋ น '%%sql'์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰๋˜๊ณ  ์žˆ๋‹ค. ์ด ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด SQL ์ฝ”๋“œ๋ฅผ ๋…ธํŠธ๋ถ ๋‚ด์—์„œ ์ง์ ‘ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ย 
ํ•ด์„ค:

์ด ์ฝ”๋“œ๋Š” SQL ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ฟผ๋ฆฌํ•˜๊ณ  ์žˆ๋‹ค.

์ด ์ฟผ๋ฆฌ๋Š” SELECT ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ "store" ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ์ปฌ๋Ÿผ์„ ์„ ํƒํ•˜๊ณ  ์žˆ๋‹ค.

์ฟผ๋ฆฌ๋Š” ์™€์ผ๋“œ์นด๋“œ ๋ฌธ์ž '%'๋ฅผ ์‚ฌ์šฉํ•œ LIKE ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 'store_cd' ์—ด์ด 'S14'๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ ˆ์ฝ”๋“œ๋งŒ ์„ ํƒํ•จ์œผ๋กœ์จ ๋ฐ์ดํ„ฐ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๊ณ  ์žˆ๋‹ค.

๋˜ํ•œ ์ด ์ฟผ๋ฆฌ๋Š” LIMIT ์ ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ˜ํ™˜๋˜๋Š” ๋ ˆ์ฝ”๋“œ ์ˆ˜๋ฅผ 10์œผ๋กœ ์ œํ•œํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ฆ‰, ์ด ์ฟผ๋ฆฌ๋Š” 'store' ํ…Œ์ด๋ธ”์—์„œ 'store_cd'๊ฐ€ 'S14'๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ์ตœ๋Œ€ 10๊ฐœ๊นŒ์ง€๋งŒ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์ด ์ฝ”๋“œ๋Š” Jupyter ๋…ธํŠธ๋ถ ๋‚ด์—์„œ SQL ๋งค์ง ๋ช…๋ น '%%sql'์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰๋˜๊ณ  ์žˆ๋‹ค. ์ด ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด SQL ์ฝ”๋“œ๋ฅผ ๋…ธํŠธ๋ถ ๋‚ด์—์„œ ์ง์ ‘ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

ย 

ํ•ด์„ค:

์ด ์ฝ”๋“œ๋Š” SQL ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ฟผ๋ฆฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์ฟผ๋ฆฌ๋Š” SELECT ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ 'customer' ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ์ปฌ๋Ÿผ์„ ์„ ํƒํ•˜๊ณ  ์žˆ๋‹ค.

์ฟผ๋ฆฌ๋Š” ์™€์ผ๋“œ์นด๋“œ ๋ฌธ์ž '%'๋ฅผ ์‚ฌ์šฉํ•œ LIKE ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 'customer_id' ์—ด์˜ ๋์ด ์ˆซ์ž '1'์ธ ๋ ˆ์ฝ”๋“œ๋งŒ ์„ ํƒํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ LIMIT ์ ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ˜ํ™˜๋˜๋Š” ๋ ˆ์ฝ”๋“œ ์ˆ˜๋ฅผ 10์œผ๋กœ ์ œํ•œํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ฆ‰, ์ด ์ฟผ๋ฆฌ๋Š” 'customer_id'์˜ ๋์ด ์ˆซ์ž '1'์ธ 'customer' ํ…Œ์ด๋ธ”์—์„œ ์ตœ๋Œ€ 10๊ฐœ์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์ด ์ฝ”๋“œ๋Š” Jupyter ๋…ธํŠธ๋ถ ๋‚ด์—์„œ SQL ๋งค์ง ๋ช…๋ น '%%sql'์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰๋˜๊ณ  ์žˆ๋‹ค. ์ด ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋…ธํŠธ๋ถ ๋‚ด์—์„œ SQL ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

ย 

ํ•ด์„ค:

์ด ์ฝ”๋“œ๋Š” SQL ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ฟผ๋ฆฌํ•˜๊ณ  ์žˆ๋‹ค.

์ด ์ฟผ๋ฆฌ๋Š” SELECT ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ "store" ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ์ปฌ๋Ÿผ์„ ์„ ํƒํ•˜๊ณ  ์žˆ๋‹ค.

์ฟผ๋ฆฌ๋Š” ์™€์ผ๋“œ์นด๋“œ ๋ฌธ์ž '%'๊ฐ€ ํฌํ•จ๋œ LIKE ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 'address' ์—ด์— 'yokohama city' ๋ฌธ์ž์—ด์ด ํฌํ•จ๋œ ๋ ˆ์ฝ”๋“œ๋งŒ ์„ ํƒํ•จ์œผ๋กœ์จ ๋ฐ์ดํ„ฐ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๊ณ  ์žˆ๋‹ค.

์ฆ‰, ์ด ์ฟผ๋ฆฌ๋Š” 'store' ํ…Œ์ด๋ธ”์—์„œ 'address' ์—ด์— 'yokohama city' ๋ฌธ์ž์—ด์ด ํฌํ•จ๋œ ๋ชจ๋“  ๋ ˆ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

์ด ์ฝ”๋“œ๋Š” Jupyter ๋…ธํŠธ๋ถ ๋‚ด์—์„œ SQL ๋งค์ง ๋ช…๋ น '%%sql'์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰๋˜๊ณ  ์žˆ๋‹ค. ์ด ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋…ธํŠธ๋ถ ๋‚ด์—์„œ SQL ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ย 

ย 

ํ•ด์„ค:

์ด ์ฝ”๋“œ๋Š” SQL ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ฟผ๋ฆฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์ฟผ๋ฆฌ๋Š” SELECT ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ 'customer' ํ…Œ์ด๋ธ”์—์„œ ๋ชจ๋“  ์ปฌ๋Ÿผ์„ ์„ ํƒํ•˜๊ณ  ์žˆ๋‹ค.

์ด ์ฟผ๋ฆฌ๋Š” 'status_cd' ์ปฌ๋Ÿผ์ด ์ •๊ทœ์‹ ํŒจํ„ด '^[A-F]'์™€ ์ผ์น˜ํ•˜๋Š” ๋ ˆ์ฝ”๋“œ๋งŒ ์„ ํƒํ•จ์œผ๋กœ์จ ๋ฐ์ดํ„ฐ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค(~ ์—ฐ์‚ฐ์ž ์‚ฌ์šฉ).

์ •๊ทœ์‹ ํŒจํ„ด '^[A-F]'๋Š” "status_cd" ์ปฌ๋Ÿผ์˜ A์—์„œ F๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ชจ๋“  ๊ฐ’๊ณผ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค. ํŒจํ„ด ๋‚ด ^ ๋ฌธ์ž๋Š” ๋ฌธ์ž์—ด์˜ ์‹œ์ž‘์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, [A-F]๋Š” ๋ฌธ์ž์˜ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•œ๋‹ค.

๋˜ํ•œ ์ด ์ฟผ๋ฆฌ๋Š” LIMIT ์ ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ˜ํ™˜๋˜๋Š” ๋ ˆ์ฝ”๋“œ ์ˆ˜๋ฅผ 10์œผ๋กœ ์ œํ•œํ•˜๊ณ  ์žˆ๋‹ค.

์ฆ‰, ์ด ์ฟผ๋ฆฌ๋Š” 'status_cd' ์ปฌ๋Ÿผ์ด A~F๋กœ ์‹œ์ž‘ํ•˜๋Š” 'customer' ํ…Œ์ด๋ธ”์—์„œ ์ตœ๋Œ€ 10๊ฐœ์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

์ด ์ฝ”๋“œ๋Š” Jupyter ๋…ธํŠธ๋ถ ๋‚ด์—์„œ SQL ๋งค์ง ๋ช…๋ น '%%sql'์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰๋˜๊ณ  ์žˆ๋‹ค. ์ด ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด SQL ์ฝ”๋“œ๋ฅผ ๋…ธํŠธ๋ถ ๋‚ด์—์„œ ์ง์ ‘ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ย 

ํ•ด์„ค:

์ด ์ฝ”๋“œ๋Š” SQL ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ฟผ๋ฆฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์ฟผ๋ฆฌ๋Š” SELECT ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ 'customer' ํ…Œ์ด๋ธ”์—์„œ ๋ชจ๋“  ์ปฌ๋Ÿผ์„ ์„ ํƒํ•˜๊ณ  ์žˆ๋‹ค.

์ด ์ฟผ๋ฆฌ๋Š” "status_cd" ์ปฌ๋Ÿผ์ด '[1-9]$' ์ •๊ทœํ‘œํ˜„์‹ ํŒจํ„ด๊ณผ ์ผ์น˜ํ•˜๋Š” ๋ ˆ์ฝ”๋“œ๋งŒ ์„ ํƒํ•จ์œผ๋กœ์จ ๋ฐ์ดํ„ฐ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค(~ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค).

์ •๊ทœ์‹ ํŒจํ„ด '[1-9]$'๋Š” "status_cd" ์ปฌ๋Ÿผ์˜ 1๋ถ€ํ„ฐ 9๊นŒ์ง€ ์ˆซ์ž๋กœ ๋๋‚˜๋Š” ๋ชจ๋“  ๊ฐ’๊ณผ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค. ํŒจํ„ด์˜ $ ๋ฌธ์ž๋Š” ๋ฌธ์ž์—ด์˜ ๋์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, [1-9]๋Š” ๋ฌธ์ž ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•œ๋‹ค.

๋˜ํ•œ ์ด ์ฟผ๋ฆฌ๋Š” LIMIT ์ ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ˜ํ™˜๋˜๋Š” ๋ ˆ์ฝ”๋“œ ์ˆ˜๋ฅผ 10์œผ๋กœ ์ œํ•œํ•˜๊ณ  ์žˆ๋‹ค.

์ฆ‰, ์ด ์ฟผ๋ฆฌ๋Š” 'status_cd' ์ปฌ๋Ÿผ์˜ ๋์ž๋ฆฌ๊ฐ€ 1๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ ์ˆซ์ž์ธ 'customer' ํ…Œ์ด๋ธ”์—์„œ ์ตœ๋Œ€ 10๊ฐœ์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

์ด ์ฝ”๋“œ๋Š” Jupyter ๋…ธํŠธ๋ถ ๋‚ด์—์„œ SQL ๋งค์ง ๋ช…๋ น '%%sql'์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰๋˜๊ณ  ์žˆ๋‹ค. ์ด ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋…ธํŠธ๋ถ ๋‚ด์—์„œ SQL ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
ย 
์„ค๋ช…:ย 

์ด ์ฝ”๋“œ๋Š” SQL ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ฟผ๋ฆฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์ฟผ๋ฆฌ๋Š” SELECT ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ 'customer' ํ…Œ์ด๋ธ”์—์„œ ๋ชจ๋“  ์ปฌ๋Ÿผ์„ ์„ ํƒํ•˜๊ณ  ์žˆ๋‹ค.

์ด ์ฟผ๋ฆฌ๋Š” 'status_cd' ์ปฌ๋Ÿผ์ด ์ •๊ทœ์‹ ํŒจํ„ด '^[A-F]. *[1-9]$'์™€ ์ผ์น˜ํ•˜๋Š” ๋ ˆ์ฝ”๋“œ๋งŒ ์„ ํƒํ•จ์œผ๋กœ์จ ๋ฐ์ดํ„ฐ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค(~ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค).

์ •๊ทœ์‹ ํŒจํ„ด '^[A-F]. *[1-9]$'๋Š” 'status_cd' ์—ด์—์„œ A~F๋กœ ์‹œ์ž‘ํ•˜๊ณ  ์ž„์˜์˜ ์ˆ˜์˜ ๋ฌธ์ž๊ฐ€ ์ด์–ด์ง€๋ฉฐ 1~9์˜ ์ˆซ์ž๋กœ ๋๋‚˜๋Š” ๋ชจ๋“  ๊ฐ’๊ณผ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค. ํŒจํ„ด ๋‚ด ^ ๋ฌธ์ž๋Š” ๋ฌธ์ž์—ด์˜ ์‹œ์ž‘์„ ๋‚˜ํƒ€๋‚ด๊ณ , $ ๋ฌธ์ž๋Š” ๋ฌธ์ž์—ด์˜ ๋์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

๋˜ํ•œ ์ด ์ฟผ๋ฆฌ๋Š” LIMIT ์ ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ˜ํ™˜๋˜๋Š” ๋ ˆ์ฝ”๋“œ ์ˆ˜๋ฅผ 10์œผ๋กœ ์ œํ•œํ•˜๊ณ  ์žˆ๋‹ค.

์ฆ‰, ์ด ์ฟผ๋ฆฌ๋Š” 'status_cd' ์ปฌ๋Ÿผ์ด A~F ๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•˜๊ณ  1~9 ์ˆซ์ž๋กœ ๋๋‚˜๋Š” 'customer' ํ…Œ์ด๋ธ”์—์„œ ์ตœ๋Œ€ 10๊ฐœ์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

์ด ์ฝ”๋“œ๋Š” Jupyter ๋…ธํŠธ๋ถ ๋‚ด์—์„œ SQL ๋งค์ง ๋ช…๋ น '%%sql'์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰๋˜๊ณ  ์žˆ๋‹ค. ์ด ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด SQL ์ฝ”๋“œ๋ฅผ ๋…ธํŠธ๋ถ ๋‚ด์—์„œ ์ง์ ‘ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ย 

ย 
ย 
์„ค๋ช…:

์ด ์ฝ”๋“œ๋Š” SQL ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

SELECT ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ "customer" ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ์ปฌ๋Ÿผ์„ ์„ ํƒํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ORDER BY ์ ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ "birth_day" ์ปฌ๋Ÿผ์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌํ•˜๊ณ  ์žˆ๋‹ค.

LIMIT ์ ˆ์€ ๋ฐ˜ํ™˜๋˜๋Š” ๋ ˆ์ฝ”๋“œ ์ˆ˜๋ฅผ 10์œผ๋กœ ์ œํ•œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ฆ‰, ์ด ์ฟผ๋ฆฌ๋Š” 'customer' ํ…Œ์ด๋ธ”์—์„œ 'birth_day' ์ปฌ๋Ÿผ์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌํ•˜๋ฉด ์ฒ˜์Œ 10๊ฐœ์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ด ์ฝ”๋“œ๋Š” Jupyter ๋…ธํŠธ๋ถ ๋‚ด์—์„œ SQL ๋งค์ง ๋ช…๋ น '%%sql'์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰๋˜๊ณ  ์žˆ๋‹ค. ์ด ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด SQL ์ฝ”๋“œ๋ฅผ ๋…ธํŠธ๋ถ ๋‚ด์—์„œ ์ง์ ‘ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
ย 
์„ค๋ช…:

์ด ์ฝ”๋“œ๋Š” SQL ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ฟผ๋ฆฌํ•˜๊ณ  ์žˆ๋‹ค.

์ด ์ฟผ๋ฆฌ๋Š” SELECT ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ "customer" ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ์ปฌ๋Ÿผ์„ ์„ ํƒํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ORDER BY ์ ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ "birth_day" ์ปฌ๋Ÿผ์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌํ•˜๊ณ  ์žˆ๋‹ค.

LIMIT ์ ˆ์€ ๋ฐ˜ํ™˜๋˜๋Š” ๋ ˆ์ฝ”๋“œ ์ˆ˜๋ฅผ 10์œผ๋กœ ์ œํ•œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ฆ‰, ์ด ์ฟผ๋ฆฌ๋Š” 'customer' ํ…Œ์ด๋ธ”์—์„œ 'birth_day' ์ปฌ๋Ÿผ์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌํ•˜๋ฉด ์ฒ˜์Œ 10๊ฐœ์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ด ์ฝ”๋“œ๋Š” Jupyter ๋…ธํŠธ๋ถ ๋‚ด์—์„œ SQL ๋งค์ง ๋ช…๋ น '%%sql'์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰๋˜๊ณ  ์žˆ๋‹ค. ์ด ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด SQL ์ฝ”๋“œ๋ฅผ ๋…ธํŠธ๋ถ ๋‚ด์—์„œ ์ง์ ‘ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ย 
์„ค๋ช…:

์ด ์ฝ”๋“œ๋Š” SQL ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ฟผ๋ฆฌํ•˜๊ณ  ์žˆ๋‹ค.

์ฟผ๋ฆฌ๋Š” "receipt" ํ…Œ์ด๋ธ”์—์„œ "customer_id"์™€ "amount" ์ปฌ๋Ÿผ์„ ์„ ํƒํ•˜๊ณ  ์žˆ๋‹ค.

๋˜ํ•œ RANK()๋ผ๋Š” ์ฐฝ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ "amount" ์ปฌ๋Ÿผ์„ ๊ธฐ์ค€์œผ๋กœ ๊ฐ ๋ ˆ์ฝ”๋“œ์˜ ์ˆœ์œ„๋ฅผ ๊ณ„์‚ฐํ•˜๋Š”๋ฐ, RANK() ํ•จ์ˆ˜๋Š” ๋™์ผํ•œ ๊ฐ’์—๋Š” ๋™์ผํ•œ ์ˆœ์œ„๋ฅผ ํ• ๋‹นํ•˜๊ณ , ๊ฐ™์ง€ ์•Š์€ ๊ฐ’์—๋Š” ์ˆœ์œ„ ์‚ฌ์ด์— ๊ฐ„๊ฒฉ์„ ๋‘์–ด ๊ฐ ๋ ˆ์ฝ”๋“œ์˜ ์ˆœ์œ„๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค. ์ฐฝ ํ•จ์ˆ˜๋Š” OVER() ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ •์˜๋˜๋ฉฐ, ์ˆœ์œ„๋ฅผ ์ ์šฉํ•  ์ˆœ์„œ์™€ ํŒŒํ‹ฐ์…˜ ๋˜๋Š” ํ•„ํ„ฐ๋ง ๊ธฐ์ค€์„ ์ง€์ •ํ•œ๋‹ค.

์ฟผ๋ฆฌ๋Š” ORDER BY ์ ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ "amount" ์—ด์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌํ•œ๋‹ค.

์ด ์ฟผ๋ฆฌ๋Š” AS ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ RANK() ํ•จ์ˆ˜์˜ ๊ฒฐ๊ณผ๋ฅผ '์ˆœ์œ„'๋ผ๋Š” ๋ณ„์นญ์œผ๋กœ ์ง€์ •ํ•œ๋‹ค.

LIMIT ๊ตฌ๋ฌธ์€ ๋ฐ˜ํ™˜๋˜๋Š” ๋ ˆ์ฝ”๋“œ ์ˆ˜๋ฅผ 10์œผ๋กœ ์ œํ•œํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.

์ฆ‰, ์ด ์ฟผ๋ฆฌ๋Š” 'receipt' ํ…Œ์ด๋ธ”์—์„œ ์ฒ˜์Œ 10๊ฐœ์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , ๊ฐ ๋ ˆ์ฝ”๋“œ์—๋Š” 'customer_id', 'amount', 'ranking' ์ปฌ๋Ÿผ์ด ํฌํ•จ๋˜๋ฉฐ, 'ranking' ์ปฌ๋Ÿผ์—๋Š” 'amount' ์ปฌ๋Ÿผ์„ ๊ธฐ์ค€์œผ๋กœ ํ•œ ๊ฐ ๋ ˆ์ฝ”๋“œ์˜ ์ˆœ์œ„ ๊ฐ€ ๊ธฐ์žฌ๋˜๋ฉฐ, ๊ฐ€์žฅ ๋†’์€ ๊ธˆ์•ก์„ ๊ฐ€์ง„ ๋ ˆ์ฝ”๋“œ์˜ ์ˆœ์œ„๋Š” 1์ด๋‹ค.

์ด ์ฝ”๋“œ๋Š” Jupyter ๋…ธํŠธ๋ถ ๋‚ด์—์„œ SQL ๋งค์ง ๋ช…๋ น '%%sql'์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰๋œ๋‹ค. ์ด ๋ช…๋ น์„ ํ†ตํ•ด ๋…ธํŠธ๋ถ ๋‚ด์—์„œ SQL ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
ย 

ย 

์„ค๋ช…:

์ด ์ฝ”๋“œ๋Š” Jupyter ๋…ธํŠธ๋ถ์—์„œ ๋งค์ง ๋ช…๋ น "%%sql"์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰๋˜๋Š” SQL ์ฟผ๋ฆฌ์ž…๋‹ˆ๋‹ค.

์ด ์ฟผ๋ฆฌ๋Š” "recipate" ํ…Œ์ด๋ธ”์—์„œ 3๊ฐœ์˜ ์ปฌ๋Ÿผ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. "customer_id", "amount", ๊ทธ๋ฆฌ๊ณ  ์ƒˆ๋กœ์šด "ranking" ์—ด. "customer_id"์™€ "amount" ์—ด์€ ๋‹จ์ˆœํ•˜๋ฉฐ ์ด ๋‘ ํ•„๋“œ์˜ ๊ฐ’๋งŒ ๊ฐ€์ ธ์˜ค๊ณ , "ranking" ์—ด์€ ROW_NUMBER()๋ผ๋Š” window ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋œ ํŒŒ์ƒ ์ปฌ๋Ÿผ์ด๋‹ค.

ROW_NUMBER() ํ•จ์ˆ˜๋Š” ์ง€์ •๋œ ORDER BY ๊ตฌ๋ฌธ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฒฐ๊ณผ ์ง‘ํ•ฉ์˜ ๊ฐ ํ–‰์— ๋Œ€ํ•ด ๊ณ ์œ ํ•œ ์—ฐ๋ฒˆ์„ ์ƒ์„ฑํ•œ๋‹ค. ์ด ํ•จ์ˆ˜๋Š” 'amount' ์—ด์˜ ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ๊ฐ ํ–‰์— ์ˆœ์œ„๋ฅผ ํ• ๋‹นํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋ฉฐ, ORDER BY ๊ตฌ๋ฌธ์€ 'amount' ์—ด์„ ๊ธฐ์ค€์œผ๋กœ ํ–‰์„ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ ๊ฐ€์žฅ ๋†’์€ ๊ธˆ์•ก์ด 1์ˆœ์œ„, ๋‘ ๋ฒˆ์งธ๋กœ ๋†’์€ ๊ธˆ์•ก์ด 2์ˆœ์œ„, ์ด๋ ‡๊ฒŒ ์ˆœ์„œ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

AS ํ‚ค์›Œ๋“œ๋Š” ์ƒˆ๋กœ์šด ์ปฌ๋Ÿผ์— "ranking"์ด๋ผ๋Š” ๋ณ„์นญ์„ ๋ถ€์—ฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ LIMIT ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฟผ๋ฆฌ๊ฐ€ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ–‰ ์ˆ˜๋ฅผ 10ํ–‰์œผ๋กœ ์ œํ•œํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ด ์ฟผ๋ฆฌ์˜ ๊ฒฐ๊ณผ๋Š” "customer_id", "amount", "ranking" ์ปฌ๋Ÿผ์„ ๊ฐ€์ง„ "receive" ํ…Œ์ด๋ธ”์˜ ์ƒ์œ„ 10๊ฐœ์˜ ํ–‰์„ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, "ranking" ์ปฌ๋Ÿผ์—๋Š” "amount" ์ปฌ๋Ÿผ์˜ ์ˆœ์„œ์— ๋”ฐ๋ผ ๊ฐ ํ–‰์— ํ• ๋‹น๋œ ์—ฐ๋ฒˆ์ด ํฌํ•จ๋˜์–ด ์žˆ๊ณ  ๊ฐ€์žฅ ๋†’์€ ๊ธˆ์•ก์˜ ๊ฒƒ์€ 'ranking 1'์ด ๋ฉ๋‹ˆ๋‹ค.

ย 

Comment