๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐ˜์‘ํ˜•

DB/MySQL16

[MySQL] ๋ฐ์ดํ„ฐ์˜ ๊ต์ง‘ํ•ฉ & ํ•ฉ์ง‘ํ•ฉ - JOIN โœจ MySQL JOIN ์ด๋ž€? ๋‘˜ ์ด์ƒ์˜ ํ…Œ์ด๋ธ”์„ ์—ฐ๊ฒฐํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์—ฐ๊ฒฐํ•˜๋ ค๋ฉด ํ…Œ์ด๋ธ”๋“ค์ด ์ ์–ด๋„ ํ•˜๋‚˜์ด์ƒ์˜ ์ปฌ๋Ÿผ์„ ๊ณต์œ ํ•˜๊ณ  ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณต์œ ํ•˜๊ณ  ์žˆ๋Š” ์ปฌ๋Ÿผ์„ PK ๋˜๋Š” FK๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. INNER JOIN LEFT/RIGHT JOIN OUTER JOIN ๊ต์ง‘ํ•ฉ,๊ณตํ†ต์ ์ธ ๋ถ€๋ถ„๋งŒ SELECT๋จ ์กฐ์ธ๊ธฐ์ค€ ์™ผ์ชฝ/์˜ค๋ฅธ์ชฝ ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๋ชจ๋‘ SELECT ๋จ OUTER JOIN์—์„  INNER Table์— ์ผ์น˜ํ•˜๋Š” ๋ ˆ์ฝ”๋“œ๊ฐ€ ์—†์œผ๋ฉด ๋ชจ๋‘ NULL๋กœ ์ฑ„์›Œ์„œ ๊ฐ€์ ธ์˜จ๋‹ค. ์ž‘์„ฑ๋ฒ• ) ์ฒซ๋ฒˆ์งธํ…Œ์ด๋ธ”์ด๋ฆ„ JOIN ๋‘๋ฒˆ์งธํ…Œ์ด๋ธ”์ด๋ฆ„ ON ์กฐ๊ฑด ์ž‘์„ฑ๋ฒ• ) ์ฒซ๋ฒˆ์งธํ…Œ์ด๋ธ”์ด๋ฆ„ LEFT JOIN ๋‘๋ฒˆ์งธํ…Œ์ด๋ธ”์ด๋ฆ„ ON ์กฐ๊ฑด ์ž‘์„ฑ๋ฒ• ) SELECT ํ•„๋“œ์ด๋ฆ„ FROM ํ…Œ์ด๋ธ”์ด๋ฆ„ UNION SELECT ํ•„๋“œ์ด๋ฆ„ FRO.. 2022. 3. 28.
[MySQL] ๋ฐ์ดํ„ฐ ๊ทธ๋ฃนํ™” - GROUP BY GROUP BY ๋ž€? ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋ฃนํ™”ํ•˜๋Š” ๊ฒƒ, ์ฆ‰ ๋ฐ์ดํ„ฐ๋ฅผ ์ง‘๊ณ„ํ•˜๋Š” ๊ฒƒ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์—์„œ ์ƒ๋‹นํžˆ ์ค‘์š”ํ•œ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. GROUP BY๋ฅผ ์–ด๋–ค ์‹์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํฌ์ŠคํŒ… ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค :D ๐Ÿ’ก์™œ ํ–‰์„ ๊ทธ๋ฃนํ™”ํ•ด์•ผ ํ• ๊นŒ์š”? ์šฐ๋ฆฌ๋Š” SQL์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋ฃนํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ์ธ์ง€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทผ๋ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์™œ ๊ทธ๋ฃนํ™”ํ•ด์•ผ ํ• ๊นŒ์š”? ์ฐธ๊ณ ๋กœ, GROUP BY ์ ˆ์€ ์ฃผ๋กœ ์ง‘๊ณ„ ํ•จ์ˆ˜์™€ ๊ฐ™์ด ์‚ฌ์šฉ๋˜๊ณค ํ•ฉ๋‹ˆ๋‹ค. ์ง‘๊ณ„ ํ•จ์ˆ˜๋Š” ์—ฌ๋Ÿฌ ํ–‰์˜ ๊ฐ’์„ ๋”ํ•˜๊ฑฐ๋‚˜, ํ‰๊ท ๊ฐ’์„ ๋‚ด๊ฑฐ๋‚˜, ๊ฐœ์ˆ˜๋ฅผ ์„ธ๋Š” ๋“ฑ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ์— ๊ด€ํ•œ ๊ณ„์‚ฐ์„ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ์ง‘๊ณ„ ํ•จ์ˆ˜์—๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. 1. COUNT() : ํ–‰์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ์–ด์คŒ 2. AVG() : ํ–‰ ์•ˆ์— ์žˆ๋Š” ๊ฐ’์˜ ํ‰๊ท ์„ ๋‚ด์–ด์คŒ 3. MIN() : ํ–‰ ์•ˆ์— ์žˆ๋Š” ๊ฐ’์˜ ์ตœ์†Ÿ๊ฐ’์„ .. 2022. 3. 28.
[MySQL] ์ˆซ์ž, ๋ฌธ์ž์—ด, ๋‚ ์งœ ํ•จ์ˆ˜ # ์ˆซ์ž ํ•จ์ˆ˜ # ABS์ ˆ๋Œ€๊ฐ’ # CEIL์†Œ์ˆ˜์  ์˜ฌ๋ฆผ # FLOOR์†Œ์ˆ˜์  ๋ฒ„๋ฆผ # ROUND์†Œ์ˆ˜์  ๋ฐ˜์˜ฌ๋ฆผ (์ž๋ฆฌ์ˆ˜์ง€์ •๊ฐ€๋Šฅ) # TRUNCATE ์†Œ์ˆ˜์  ๋ฒ„๋ฆผ(์ž๋ฆฌ์ˆ˜์ง€์ •๊ฐ€๋Šฅ) # POWx์˜ y์Šน # MOD๋‚˜๋จธ์ง€ # GREATEST max # LEAST min SELECT ABS(100) , ABS(-100); SELECT CEIL(10.1), CEIL(10.4) , CEIL(10.8); SELECT FLOOR(10.1), FLOOR(10.4) , FLOOR(10.8); SELECT ROUND(10.1), ROUND(10.4) , ROUND(10.8); SELECT ROUND(166.555, 0);# ์†Œ์ˆ˜์  ์ดํ•˜ 0์ž๋ฆฌ SELECT ROUND(166.555, 1);# ์†Œ์ˆ˜์  ์ดํ•˜ 1์ž๋ฆฌ SELECT ROUND.. 2022. 3. 27.
[MySQL] ๋ฐ์ดํ„ฐ ์ •๋ ฌํ•˜๊ธฐ - ORDER BY # ์ •๋ ฌ ( ORDER BY ) # 1) ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ : DESC # 2) ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ : ASC(๊ธฐ๋ณธ ๊ฐ’) # 1) SELECT # 2) FROM # 3) WHERE # 3) ORDER BY # ๋ฌธ์ œ) bookํ…Œ์ด๋ธ”์—์„œ ๋„์„œ๋ช…๊ณผ ์ถœํŒ์ผ ๊ฐ€์ ธ์˜ค๊ธฐ # ์กฐ๊ฑด) ์ถœํŒ์ผ์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ SELECT book_publishing_date, book_title FROM book; SELECT book_publishing_date, book_title FROM book ORDER BY book_publishing_date ASC; SELECT book_publishing_date, book_title FROM book ORDER BY book_publishing_date DESC; # ๋ฌธ์ œ) bookํ…Œ์ด๋ธ”์—์„œ ๋„.. 2022. 3. 27.
[MySQL] ํŠน์ • ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ - LIKE # LIKE ( ๊ฒ€์ƒ‰ ์กฐ๊ฑด ) # ๋ฌธ์ œ) bookํ…Œ์ด๋ธ”์—์„œ ์ฑ… ์ œ๋ชฉ์— 'java'๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š” ์ฑ…์ •๋ณด ๊ฐ€์ ธ์˜ค๊ธฐ SELECT * FROM book WHERE book_title LIKE '%java%'; SELECT * FROM book WHERE book_title LIKE '%์ž๋ฐ”%'; # LIKE ( ๊ฒ€์ƒ‰ ์—ฌ๋Ÿฌ๊ฐœ ) # ๋ฌธ์ œ) bookํ…Œ์ด๋ธ”์—์„œ ์ฑ… ์ œ๋ชฉ์— 'java' ๋˜๋Š” '์ž๋ฐ”' ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š” ์ฑ…์ •๋ณด ๊ฐ€์ ธ์˜ค๊ธฐ SELECT * FROM book WHERE book_title LIKE '%์ž๋ฐ”%' OR book_title LIKE '%java%'; # ๋ฌธ์ œ) bookํ…Œ์ด๋ธ”์—์„œ ์ฑ… ์ œ๋ชฉ์ด '๋‚˜'๋กœ ์‹œ์ž‘๋˜๋Š” ์ฑ…์ •๋ณด ๊ฐ€์ ธ์˜ค๊ธฐ SELECT * FROM book WHERE book_title LIKE '.. 2022. 3. 27.
[MySQL] ํŠน์ • ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ - WHERE # WEHRE : ์ž๋ฐ”์—์„œ์˜ if๋ฌธ๊ณผ ๊ฐ™๋‹ค # 1) SELECT # 2) FROM # 3) WHERE # ๋น„๊ต ์—ฐ์‚ฐ์ž # = ๊ฐ™๋‹ค(์ฃผ์˜) # > ํฌ๋‹ค # = ํฌ๊ฑฐ๋‚˜ ๊ฐ™๋‹ค # 2022. 3. 27.
300x250

์ฝ”๋“œ