26 Fri
Last updated
Was this helpful?
Last updated
Was this helpful?
JOIN
์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ RDB, Relational DataBase ๋ผ๊ณ ํ๋ค.
๋ฐ์ดํฐ๊ฐ์ ๊ด๊ณ์ฑ์ ๊ฐ์ง๊ณ ์ฐ๊ฒฐ/๋ถ๋ฆฌ ํ๋ ๋ฐ์ดํฐ ๋ฒ ์ด์ค
ํ ํ ์ด๋ธ๋ก ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ํํํ๋ฉด ์ค๋ณต๋๋ ๋ฐ์ดํฐ๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ ํจ์จ์ ์ด์ง ์๋ค. ์ด๋ฅผ ๋ ๊ฐ ์ด์์ ํ ์ด๋ธ๋ก ๋ถ๋ฆฌํ๋ค.
์ด ํ, ๋ถ๋ฆฌ๋ ํ ์ด๋ธ์ ์ฐ๊ฒฐํ ๋ JOIN์ ์ฌ์ฉํด์ผ ํ๋ค
INNER JOIN
๋ค์๊ณผ ๊ฐ์ด ๋ ํ ์ด๋ธ์ ํฉ์น๋ฉด ๊ต์ฅํ ๋ง์ ์ค๋ณต์ด ๋ฐ์ํ๊ฒ ๋๋ค.
๋ ํ ์ด๋ธ์ ํฉ์น๋ ๊ฒ์ Combination ํ๋ค๊ณ ํ๋ค
๋ค์์ ๋ ํ ์ด๋ธ์ ๊ฒฐํฉํ ๊ฒฐ๊ณผ์ ์ผ๋ถ
์กฐ๊ธ์ ์ฐจ์ด๊ฐ ์๋ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๊ธฐ ์ํด ์ค๋ณต๋ ๋ฐ์ดํฐ๊ฐ ๋ง์ด ํ์๋๋ ๋ชจ์ต
๋ฐ๋ผ์ ์ด๋ฌํ ์ค๋ณต์ ์์ ๊ณ ๊ณตํต๋ ์ ๋ณด๋ง ์ป๊ณ ์ถ์ ๋ INNER JOIN
์ ์ฌ์ฉํ๋ค.
WHERE
๋ฌธ๋ฒ์ ํตํด ๋์ผํ ์ปฌ๋ผ์ ๋ถ๋ฌ์ค๋ ๋ฐฉ๋ฒ
์ด์ ๋ ์ ์ฐ์ด์ง ์๋ ๋ฐฉ๋ฒ์ด๋ค
๋ค์๊ณผ ๊ฐ์ด ์์ฝ์ด INNER JOIN ~ ON
์ ์ฌ์ฉํ ์ ์๋ค
์์ชฝ ํ ์ด๋ธ์ ๋์ผํ ๋ฐ์ดํฐ๊ฐ ์กด์ฌํ ๋๋ง ์ฌ์ฉ๊ฐ๋ฅ ํ๋ค.
์ด ๋ Join ํ๋ Key๊ฐ์ name์ด ๋ค๋ฅผ ์ ์๋ค.
๋๊ฐ์ ์ปฌ๋ผ์ผ์ง๋ผ๋ Orders๋ CustomerID, Customers๋ ID๋ก ๋์ด์์ ์ ์๋ค.
์ด๋ ๊ณ ๊ธ์์ ๋ค๋ฃฐ ๋ด์ฉ => ERD, Entity Relational Diagram
OUTER JOIN
INNER JOIN
์ ์ ์ธํ๊ณ ๋ ๋ชจ๋ OUTER JOIN
LEFT, RIGHT, FULL
์ 3๊ฐ์ง ์ข
๋ฅ๊ฐ ์๋ค.
LEFT JOIN
๊ณผ LEFT OUTER JOIN
์ ๋์ผํ ๋ช
๋ น์ด์ด๋ค
RIGHT
์ FULL
๋ ๋ง์ฐฌ๊ฐ์ง
LEFT JOIN
RIGHT JOIN
๊ทธ๋ฌ๋ RIGHT JOIN
์ ์ ์ฐ์ง ์๋๋ค.
์์๋ง ๋ฐ๊พธ๋ฉด LEFT JOIN
๊ณผ ๋์ผํ๊ธฐ ๋๋ฌธ
ํด์์ ์ผ๋ก RIGHT JOIN
์ด ๋น๊ต์ ์ด๋ ค์ด ๋ถ๋ถ์ด ์๋ค
w3school ์์๋ right์ full์ ์ง์ํ์ง ์์
SELF JOIN
LEET CODE 181
table ํ๋๋ฅผ joinํด์ ์๋ก ๋ค๋ฅธ table์ธ ๊ฒ์ฒ๋ผ ์ฌ์ฉ
์ฃผ๋ก as
๋ฅผ ํตํด ๊ตฌ๋ณํ๋ ๊ฒ์ด ์ข๋ค
์๊ฐ ๋ํ๊ธฐ ๋นผ๊ธฐ
LEET CODE 197
DATE_ADD(๊ธฐ์ค๋ ์ง, INTERVAL)
SELECT DATE_ADD(NOW(), INTERVAL 1 SECOND)
SECOND
๋์ MINUTE, HOUR, DAY, MONTH, YEAR
์ฌ์ฉ๊ฐ๋ฅ
DATE_SUB(๊ธฐ์ค๋ ์ง, INTERVAL)
DATE_ADD
์ ๋์ผ
๊ทธ๋ฌ๋ INTERVAL
์ ์์๋ฅผ ๋ฃ์ผ๋ฉด ADD
์์๋ SUB
์ ํจ๊ณผ๋ฅผ ๋ผ ์ ์์