๊ด€๋ฆฌ ๋ฉ”๋‰ด

Welcome! Everything is fine.

[TIL] 220119 ๋ณธ๋ฌธ

TIL

[TIL] 220119

๊ฐœ๋ฐœ๊ณฐ๋ฐœ 2022. 1. 19.
728x90

๐Ÿ’ป Today I Leaned...

๐Ÿ“Œ ์ƒํ™œ์ฝ”๋”ฉ - DATABASE2 - MySQL

JOIN์˜ ์‚ฌ์šฉ๋ฒ•

๊ธฐ์กด ํ…Œ์ด๋ธ”์˜ ์ค‘๋ณต๋œ ๋ถ€๋ถ„์„ ๊ธฐ์ค€์œผ๋กœ ๋‘ ๊ฐœ๋กœ ๋ถ„๋ฆฌํ•œ ๋’ค, ์ง๊ด€์ ์œผ๋กœ ๋ณด๊ธฐ ์œ„ํ•ด ๋‘ ๊ฐœ์˜ ํ…Œ์ด๋ธ”์„ JOIN์„ ์ด์šฉํ•ด ๊ฒฐํ•ฉํ•˜๋ คํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‘ ๊ฐœ์˜ ํ…Œ์ด๋ธ”์„ ๋ง‰์—ฐํ•˜๊ฒŒ ๊ฒฐํ•ฉํ•  ์ˆœ ์—†๋‹ค. MySQL์ด ์•Œ์•„๋“ฃ๋„๋ก ๊ธฐ์ค€์„ ์ •ํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค.

๊ทธ ๊ธฐ์ค€์€ ON ํ‚ค์›Œ๋“œ๋ฅผ ํ†ตํ•ด ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. 'topic.author_id์˜ ๊ฐ’๊ณผ author.id์˜ ๊ฐ’์ด ๊ฐ™๋‹ค'๋Š” ์ ์„ ์ ์–ด์ฃผ์–ด MySQL์ด ๊ทธ๊ฒƒ์„ ์ฐธ์กฐํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๊ฒƒ์„ ์ฐน์กฐํ•˜์—ฌ ๋‘ ๊ฐœ์˜ ํ…Œ์ด๋ธ”์„ ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”๋กœ ํ•ฉ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ•ฉ์„ฑ๋œ ํ…Œ์ด๋ธ”์—์„œ author_id์™€ ์ค‘๋ณต๋˜๋Š” id๋ฅผ ์ œ์™ธํ•œ ํ…Œ์ด๋ธ”์„ ๋ณด๊ณ ์‹ถ๋‹ค๋ฉด SELECT ๋’ค์— *(๋ณ„ํ‘œ)๋ฅผ ๋นผ๊ณ  ๋ณด์ด๊ฒŒ ํ•  ํ–‰์˜ ์ด๋ฆ„์„ ์ ์–ด์ฃผ๋ฉด ๋œ๋‹ค. ์—ฌ๊ธฐ์—์„œ ์ฃผ์˜ํ•  ์ ์€ ๋งจ ์ฒ˜์Œ์— topic.id๊ฐ€ ์•„๋‹Œ ๊ทธ๋ƒฅ id๋ผ๊ณ  ์“ฐ๋ฉด author ํ…Œ์ด๋ธ”์˜ id์™€ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ˜๋“œ์‹œ topic.id๋ผ๊ณ  ์ ์–ด์ค˜์•ผํ•œ๋‹ค. ๊ทธ๋ ‡์ง€์•Š์œผ๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋‚œ๋‹ค.

๋งŒ์•ฝ ์ด ํ…Œ์ด๋ธ”์—์„œ ํ–‰์˜ ์ด๋ฆ„์„ ๋ฐ”๊พธ๊ณ  ์‹ถ๋‹ค๋ฉด topic.id ๋’ค์— AS ๋ฐ”๊พธ๊ณ ์‹ถ์€ ์ด๋ฆ„์œผ๋กœ ์ ์–ด์ค€๋‹ค.

์ด์ฒ˜๋Ÿผ JOIN์„ ์ด์šฉํ•˜์—ฌ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ž˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ , ์ค‘๋ณต๋œ ๋ถ€๋ถ„์„ ์ค„์—ฌ์ฃผ๊ณ  ์ˆ˜์ •์˜ ๋ถˆํŽธํ•จ ์—ญ์‹œ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.  

์ธํ„ฐ๋„ท๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

์ธํ„ฐ๋„ท์ด ๋™์ž‘ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ตœ์†Œ ์ปดํ“จํ„ฐ 2๋Œ€๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ๊ฐ์ž ํฉ์–ด์ ธ ์žˆ๋Š” ์ปดํ“จํ„ฐ๋“ค์ด ์ธํ„ฐ๋„ท์œผ๋กœ ์—ฐ๊ฒฐ๋˜๋ฉด์„œ ์ปดํ“จํ„ฐ๋“ค์˜ ์‚ฌํšŒ๊ฐ€ ๋งŒ๋“ค์–ด์ง„๋‹ค. ํ•œ ๋Œ€์˜ ์ปดํ“จํ„ฐ๋Š” ์ •๋ณด๋ฅผ '์š”์ฒญ'ํ•˜๊ณ , ๋‹ค๋ฅธ ํ•œ ๋Œ€์˜ ์ปดํ“จํ„ฐ๋Š” ๊ทธ ์š”์ฒญ์— '์‘๋‹ต'ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ์š”์ฒญํ•˜๋Š” ์ปดํ“จํ„ฐ๋ฅผ Client(ํด๋ผ์ด์–ธํŠธ, ๊ณ ๊ฐ) ์ปดํ“จํ„ฐ๋ผ๊ณ  ํ•˜๊ณ , ์‘๋‹ตํ•˜๋Š” ์ปดํ“จํ„ฐ๋ฅผ Server(์„œ๋ฒ„, ์„œ๋น„์Šค ์ œ๊ณต์ž) ์ปดํ“จํ„ฐ๋ผ๊ณ  ํ•œ๋‹ค. ์ฆ‰, ์ธํ„ฐ๋„ท์ด๋ผ๊ณ  ํ•˜๋Š” ๊ฒƒ์€ ํด๋ผ์–ธํŠธ์™€ ์„œ๋น„์Šค ์ œ๊ณต์ž๊ฐ€ ์„œ๋กœ ์ •๋ณด๋ฅผ ์š”์ฒญํ•˜๊ณ  ์‘๋‹ตํ•˜๋ฉด์„œ ๋™์ž‘ํ•˜๋Š” ์‹œ์Šคํ…œ์ด๋‹ค.

 

์šฐ๋ฆฌ๊ฐ€ MySQL์„ ์„ค์น˜ํ•˜๋ฉด MySQL์€ Database client์™€ Database server ๋‘ ๊ฐœ์˜ ํ”„๋กœ๊ทธ๋žจ์„ ๋™์‹œ์— ์„ค์น˜ํ•œ๋‹ค. Database server์—๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์‹ค์ œ๋กœ ์ €์žฅ๋˜๊ณ , Database client๋ฅผ ํ†ตํ•˜์—ฌ Database server์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋‹ค.  Database server๋Š” ์–ด๋– ํ•œ ํ˜•ํƒœ๋กœ๋“  Database client๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ์‚ฌ์šฉํ•œ  ํด๋ผ์ด์–ธํŠธ๋Š” cmd์ฐฝ์„ ์—ด๊ณ  mysql -u root -p๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ๋“ค์–ด๊ฐ”์„ ๋•Œ ๋‚˜์˜ค๋Š” MySQL Monitor์˜€๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ์™ธ์—๋„ ๋‹ค๋ฅธ ํด๋ผ์ด์–ธํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ๋‹ค์Œ์— ์‚ฌ์šฉํ•  Database client๋Š” MySQL workbench์ด๋‹ค.

 

'TIL' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[TIL] 220122  (0) 2022.01.22
[TIL] 220121  (0) 2022.01.21
[TIL] 220118  (0) 2022.01.18
[TIL] 220117  (0) 2022.01.17
[TIL] 220113  (0) 2022.01.13