SQL 12

Like

โ“Like - ํŠน์ • ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ # ex) EL์ด ๋“ค์–ด๊ฐ„ ๊ฒƒ ์ฐพ๊ธฐ SELECT [์ปฌ๋Ÿผ ๋ช…] FROM [ํ…Œ์ด๋ธ” ๋ช…] WHERE [์ปฌ๋Ÿผ ๋ช…] Like '%EL%' โ“์ข…๋ฅ˜ %๋ธ”๋ผ : ๋ธ”๋ผ๋กœ ๋๋‚˜๋Š” ๊ฒƒ์„ ๋ชจ๋‘ ์กฐํšŒ ๋ธ”๋ผ% : ๋ธ”๋ผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์„ ๋ชจ๋‘ ์กฐํšŒ %๋ธ”๋ผ% : ๋ธ”๋ผ๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๋ชจ๋“  ๊ฒƒ ์กฐํšŒ

JOIN

โ“JOIN SELECT A.๋ณ€์ˆ˜, A.๋ณ€์ˆ˜ from A JOIN B ON A.๋ณ€์ˆ˜ = B.๋ณ€์ˆ˜ WHERE B.๋ณ€์ˆ˜ ~~ โ“LEFT JOIN SELECT A.๋ณ€์ˆ˜, A.๋ณ€์ˆ˜ from A LEFT JOIN B ON A.๋ณ€์ˆ˜ = B.๋ณ€์ˆ˜ WHERE B.๋ณ€์ˆ˜ ~~~ JOIN๊ณผ LEFT JOIN ๋“ฑ ์ข…๋ฅ˜๊ฐ€ ๋‹ค์–‘ํ–ˆ๋‹ค. ์œ„์™€ ๊ฐ™์ด ์•„์ฃผ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌํ–ˆ์ง€๋งŒ ๋‹ค์Œ์— ์กฐ๊ธˆ ๋” ๊ณต๋ถ€ํ•ด์„œ LEFT JOIN, RIGHT JOIN๊ณผ ๊ฐ™์ด ๊ฐ๊ฐ์ด ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์„ ์ž์„ธํžˆ ์ •๋ฆฌํ•ด ๋ณผ ๊ฒƒ์ด๋‹ค. * JOIN, ON, WHERE์„ ์‚ฌ์šฉํ•˜์—ฌ JOIN๋ฌธ์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋‹ค์Œ์— ๋” ์ž์„ธํžˆ ๋Œ์•„์˜ค๊ฒ ๋‹ค -!

[programmers] JOIN๋ฌธ - SQL ๊ณ ๋“์  Kit

์ฒ˜์Œ JOIN๋ฌธ์„ ์ ‘ํ–ˆ์„ ๋•Œ ์–ด๋–ป๊ฒŒ ํ’€์–ด์•ผ ํ• ์ง€ ๋ชฐ๋ผ ์ฐพ์•„๋ดค์—ˆ๋‹ค. JOIN๋ฌธ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋ณธ ํ›„ ๋ฌธ์ œ์— ์ ์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ‘ธ๋Š” ๊ฒƒ์ธ์ง€ ๋งž๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ 4๋ฌธ์ œ๋ฅผ ํ†ต๊ณผํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋ถ€์กฑํ•˜์ง€๋งŒ ์•„์ฃผ ๊ฐ„๋‹จํ•˜๊ฒŒ JOIN์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋ณด์ž! https://melody-coding.tistory.com/199 JOIN โ“JOIN SELECT A.๋ณ€์ˆ˜, A.๋ณ€์ˆ˜ from A JOIN B ON A.๋ณ€์ˆ˜ = B.๋ณ€์ˆ˜ WHERE B.๋ณ€์ˆ˜ ~~ โ“LEFT JOIN SELECT A.๋ณ€์ˆ˜, A.๋ณ€์ˆ˜ from A LEFT JOIN B ON A.๋ณ€์ˆ˜ = B.๋ณ€์ˆ˜ WHERE B.๋ณ€์ˆ˜ ~~~ JOIN๊ณผ LEFT JOIN ๋“ฑ ์ข…๋ฅ˜๊ฐ€ ๋‹ค์–‘.. melody-coding.tistory.com

[programmers] GROUP BY๋ฌธ - SQL ๊ณ ๋“์  Kit

4๋ฒˆ์งธ ๋ฌธ์ œ์—์„œ ์–ด๋ ค์›Œ ํ•œ์ฐธ ์ฐพ์•„๋ดค์—ˆ๋‹ค.. ๊ฒ€์ƒ‰์˜ ํž˜ ๐Ÿ‘Š ์ œ๋Œ€๋กœ ์ดํ•ดํ•œ ๊ฒƒ์ธ์ง€๋„ ๋ชจ๋ฅด๊ฒ ๋‹ค ๊ฐ‘์ž๊ธฐ Level 4๋ผ๋‹ˆ... ์ผ๋‹จ... ๋ฌธ์ œ ํ‘ผ ๊ฒƒ์„ ๋ฐ”ํƒ•์œผ๋กœ GROUP BY์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋ณด์ž! https://melody-coding.tistory.com/181 GROUP BY, HAVING โ“GROUP BY - ๋ฐ์ดํ„ฐ๋ฅผ ์›ํ•˜๋Š” ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Œ GROUP BY (์—ด) โ“HAVING - GROUP BY์™€ ํ•จ๊ป˜ ์“ฐ์ž„ - GROUP ์ค‘ ์กฐ๊ฑด์— ๋งž๋Š” GROUP๋งŒ ๋‚จ๊น€ SELECT (์—ด) FROM (ํ…Œ์ด๋ธ” ๋ช…) GROUP BY (์—ด) HAVING (์กฐ๊ฑด) โ“์ถ”๊ฐ€.. melody-coding.tistory.com

๋ณ€์ˆ˜ ์„ ์–ธ

โ“๋ณ€์ˆ˜ ์„ ์–ธ SET @๋ณ€์ˆ˜:=0; - SET์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€์ˆ˜ ์„ ์–ธ โ“๋ณ€์ˆ˜ ํ™œ์šฉ SELECT (@๋ธ”๋ผ๋ธ”๋ผ:= @๋ธ”๋ผ๋ธ”๋ผ+1) - ์™ผ์ชฝ ๋ณ€์ˆ˜์— (์˜ค๋ฅธ์ชฝ ๋ณ€์ˆ˜ ๊ฐ’ +1 ๊ฐ’)์„ ๋Œ€์ž…ํ•ด์ค€๋‹ค.

GROUP BY, HAVING

โ“GROUP BY - ๋ฐ์ดํ„ฐ๋ฅผ ์›ํ•˜๋Š” ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Œ GROUP BY (์—ด) โ“HAVING - GROUP BY์™€ ํ•จ๊ป˜ ์“ฐ์ž„ - GROUP ์ค‘ ์กฐ๊ฑด์— ๋งž๋Š” GROUP๋งŒ ๋‚จ๊น€ SELECT (์—ด) FROM (ํ…Œ์ด๋ธ” ๋ช…) GROUP BY (์—ด) HAVING (์กฐ๊ฑด) โ“์ถ”๊ฐ€ 1) ๋‚ ์งœ์™€ ์‹œ๊ฐ„์ด ์“ฐ์—ฌ์žˆ๋Š” ๊ฐ’์—์„œ ์‹œ๊ฐ„๋งŒ ๋ฝ‘์•„์˜ค๊ณ  ์‹ถ์œผ๋ฉด hour(์—ด)์„ ์‹œํ–‰ 2) HAVING์ ˆ์—์„œ hour(์—ด)๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค -> SELECT๋ฌธ์—์„œ as ๋ธ”๋ผ๋ธ”๋ผ์™€ ๊ฐ™์ด ๋ณ„์นญ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

[programmers] IS NULL๋ฌธ - SQL ๊ณ ๋“์  Kit

๋ฌธ์ œ ํ‘ผ ๊ฒƒ์„ ๋ฐ”ํƒ•์œผ๋กœ NULL์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋ณด์ž! https://melody-coding.tistory.com/179 IS NULL โ“NULL์ธ ๊ฒƒ์„ ์กฐํšŒ WHERE (์—ด) is NULL โ“NULL์ด ์•„๋‹Œ ๊ฒƒ์„ ์กฐํšŒ WHERE (์—ด) is not null โ“NULL๊ฐ’ ์น˜ํ™˜ SELECT IFNULL((์—ด), '๋ธ”๋ผ๋ธ”๋ผ') FROM (ํ…Œ์ด๋ธ” ๋ช…) melody-coding.tistory.com

[programmers] SUM,MAX,MIN๋ฌธ - SQL ๊ณ ๋“์  Kit

๋ฌธ์ œ ํ‘ผ ๊ฒƒ์„ ๋ฐ”ํƒ•์œผ๋กœ MAX, MIN, COUNT, DISTINCT๋ฅผ ์ •๋ฆฌํ•ด๋ณด์ž! https://melody-coding.tistory.com/177 MAX, MIN, COUNT, DISTINCT โ“MAX SELECT max(์—ด) FROM (ํ…Œ์ด๋ธ”) โ“MIN SELECT min(์—ด) FROM (ํ…Œ์ด๋ธ”) โ“COUNT SELECT count(*) as (์—ด ์ด๋ฆ„) FROM (ํ…Œ์ด๋ธ”) count(*) : ํ…Œ์ด๋ธ” ์ „์ฒด์˜ ํ–‰ ๊ฐœ์ˆ˜, null ํฌํ•จ count(์—ด): ํŠน์ • ์—ด์˜ ๊ฐœ์ˆ˜, null.. melody-coding.tistory.com

MAX, MIN, COUNT, DISTINCT

โ“MAX SELECT max(์—ด) FROM (ํ…Œ์ด๋ธ”) โ“MIN SELECT min(์—ด) FROM (ํ…Œ์ด๋ธ”) โ“COUNT SELECT count(*) as (์—ด ์ด๋ฆ„) FROM (ํ…Œ์ด๋ธ”) count(*) : ํ…Œ์ด๋ธ” ์ „์ฒด์˜ ํ–‰ ๊ฐœ์ˆ˜, null ํฌํ•จ count(์—ด): ํŠน์ • ์—ด์˜ ๊ฐœ์ˆ˜, null ์ œ์™ธ โ“DISTINCT - ์ค‘๋ณต์„ ์ œ๊ฑฐ - ์ค‘๋ณต ์ œ๊ฑฐํ•˜๋ ค๋Š” ์—ด ์•ž์— DISTINCT ์ถ”๊ฐ€