๐ก JOIN์ ๋ ๊ฐ ์ด์์ ํ
์ด๋ธ์ ๊ด๋ จ์๋ ์ปฌ๋ผ์ ํตํด ๊ฒฐํฉํ๋๋ฐ ์ฌ์ฉ๋๋ค.
๋ ๊ฐ ์ด์์ ํ
์ด๋ธ์ ๋ฐ๋์ ์ฐ๊ด์๋ ์ปฌ๋ผ์ด ์กด์ฌํด์ผ ํ๋ฉฐ ์ด๋ฅผ ํตํด JOIN๋ ํ
์ด๋ธ๋ค์ ์ปฌ๋ผ์ ๋ชจ๋ ํ์ฉํ ์ ์๋ค.
SQL๋ฌธ์ ์ปฌ๋ผ ๋๋ ํ ์ด๋ธ์ ๋ณ์นญ์ ๋ฌ์์ค ์ ์๋ค.
์ด๋ฌํ ๋ณ์นญ์ALIAS๋ผ๊ณ ํ๋ค.
resultSet์ ์ปฌ๋ผ๋ช
์ด ๋ณ์นญ์ผ๋ก ๋ฐ๋
๋ณ์นญ์ ๋์ด์ฐ๊ธฐ๋ ํน์๊ธฐํธ๊ฐ ์๋ค๋ฉด ํ๋ฐ์ดํ(')์ AS๋ ์๋ต ๊ฐ๋ฅํ๋ค.
SELECT
menu_code AS 'code'
, menu_name AS name
, menu_price 'price'
FROM tbl_menu
ORDER BY price;
์คํ๊ฒฐ๊ณผ
ํ
์ด๋ธ์ ๋ณ์นญ์ ์์ฑํ ์ ์์ผ๋ฉฐ ์ด๋ค ํ
์ด๋ธ ์์์ธ์ง๋ฅผ ์ฝ๊ฒ ์ ์ ์๊ฒ ํ๋ค.
ํ
์ด๋ธ ๋ณ์นญ์ AS๋ฅผ ์จ๋ ๋๊ณ ์๋ต๋ ๊ฐ๋ฅํ๋ค.
SELECT
a.category_code
, a.menu_name
-- FROM tbl_menu AS a
FROM tbl_menu a
ORDER BY a.category_code, a.menu_name;
์คํ๊ฒฐ๊ณผ
๋ ํ
์ด๋ธ์ ๊ต์งํฉ์ ๋ฐํํ๋ SQL JOIN ์ ํ
INNER JOIN์์ INNER ํค์๋๋ ์๋ต์ด ๊ฐ๋ฅํ๋ค.
โก๏ธ ON์ ํ์ฉํ JOIN
์ปฌ๋ผ๋ช
์ด ๊ฐ๊ฑฐ๋ ๋ค๋ฅผ ๊ฒฝ์ฐ ON์ผ๋ก ์๋ก ์ฐ๊ด์๋ ์ปฌ๋ผ์ ๋ํ ์กฐ๊ฑด์ ์์ฑํ์ฌ JOINํ๋ ๊ฒฝ์ฐ
SELECT
a.menu_name
, b.category_name
FROM tbl_menu a
-- INNER JOIN tbl_category b ON a.category_code = b.category_code;
JOIN tbl_category b ON a.category_code = b.category_code;
โก๏ธ USING์ ํ์ฉํ JOIN
์ปฌ๋ผ๋ช
์ด ๊ฐ์ ๊ฒฝ์ฐ USING์ผ๋ก ์๋ก ์ฐ๊ด์๋ ์ปฌ๋ผ์ ๋ํ ์กฐ๊ฑด์ ์์ฑํ์ฌ JOINํ๋ ๊ฒฝ์ฐ
SELECT
a.menu_name
, b.category_name
FROM tbl_menu a
-- INNER JOIN tbl_category b USING (category_code);
JOIN tbl_category b USING (category_code);
๐จ
์คํ๊ฒฐ๊ณผ
:on๊ณผusing๋๋ค ๊ฒฐ๊ณผ๊ฐ ๊ฐ์
์ฒซ ๋ฒ์งธ(์ผ์ชฝ) ํ ์ด๋ธ์ ๋ชจ๋ ๋ ์ฝ๋์ ๋ ๋ฒ์งธ(์ค๋ฅธ์ชฝ) ํ ์ด๋ธ์์ ์ผ์นํ๋ ๋ ์ฝ๋๋ฅผ ๋ฐํํ๋ SQL JOIN ์ ํ
SELECT
a.menu_name
, b.category_name
FROM tbl_menu a
LEFT JOIN tbl_category b ON a.category_code = b.category_code;
์คํ๊ฒฐ๊ณผ
๋ ๋ฒ์งธ(์ค๋ฅธ์ชฝ) ํ ์ด๋ธ์ ๋ชจ๋ ๋ ์ฝ๋์ ์ฒซ ๋ฒ์งธ(์ผ์ชฝ) ํ ์ด๋ธ์์ ์ผ์นํ๋ ๋ ์ฝ๋๋ฅผ ๋ฐํํ๋ SQL JOIN ์ ํ
```sql
SELECT
a.menu_name
, b.category_name
FROM tbl_menu a
RIGHT JOIN tbl_category b ON a.category_code = b.category_code;
```
์คํ๊ฒฐ๊ณผ
๋ ํ ์ด๋ธ์ ๋ชจ๋ ๊ฐ๋ฅํ ์กฐํฉ์ ๋ฐํํ๋ SQL JOIN ์ ํ
SELECT
a.menu_name
, b.category_name
FROM tbl_menu a
CROSS JOIN tbl_category b;
์คํ๊ฒฐ๊ณผ
๊ฐ์ ํ
์ด๋ธ ๋ด์์ ํ๊ณผ ํ ์ฌ์ด์ ๊ด๊ณ๋ฅผ ์ฐพ๊ธฐ ์ํด ์ฌ์ฉ๋๋ SQL JOIN ์ ํ
์นดํ
๊ณ ๋ฆฌ๋ณ ๋๋ถ๋ฅ ํ์ธ์ ์ํ SELF JOIN ์กฐํ
SELECT
a.category_name
, b.category_name
FROM tbl_category a
JOIN tbl_category b ON a.ref_category_code = b.category_code
WHERE a.ref_category_code IS NOT NULL;
์คํ๊ฒฐ๊ณผ