728x90
๋ฐ์ํ
SELECT ์ปฌ๋ผ๋ช
FROM ํ
์ด๋ธ์ด๋ฆ ๋ณ์นญ[INNER] JOIN ํ
์ด๋ธ ์ด๋ฆ ๋ณ์นญ
ON ๋ณ์นญ.์ปฌ๋ผ๋ช
= ๋ณ์นญ.์ปฌ๋ผ๋ช
;
-- on ์ด where์ ์ญํ ์ ์ํ
SELECT ์ปฌ๋ผ๋ช
FROM ํ
์ด๋ธ๋ช
1 ๋ณ์นญ1 [INNER] JOIN ํ
์ด๋ธ2 ๋ณ์นญ2
ON ๋ณ์นญ1.์ปฌ๋ผ๋ช
= ๋ณ์นญ2.์ปฌ๋ผ๋ช
[INNER] JOIN ํ
์ด๋ธ3.๋ณ์นญ3
ON ๋ณ์นญ2.์ปฌ๋ผ๋ช
= ๋ณ์นญ3.์ปฌ๋ผ๋ช
left join ๋๋ left outer join
SELECT p.NAME, POSITION, p.deptno, p.profno, s.name, studno, grade, s.deptno1
FROM professor p LEFT OUTER join student s
ON p.deptno = s.deptno1;
right join ๋๋ right outer join
SELECT ename, job,sal,e.deptno, dname
FROM dept d right outer JOIN emp e
-- right outer join ๊ธฐ์ค ์ค๋ฅธ์ชฝ์ ์๋ ๋ฐ์ดํฐ ๋ชจ๋,
์ผ์ชฝ ๋ฐ์ดํฐ๋ ์ผ์นํ๋ ๊ฒ๋ง ์ถ๋ ฅ
ON d.deptno = e.deptno;
self join
SELECT e.EMPNO , e.ENAME, e.job , em.MGR, em.EMPNO
FROM emp e JOIN emp em
ON e.MGR = em.MGR;
๋์ผํ ํ ์ด๋ธ ๋ด์ ๋ ๊ฐ์ ๋ ์ฝ๋๋ฅผ ์๋ก ๋น๊ตํ๊ณ ์กฐ์ธํ๋ ๊ฒ
cross join
ํ ์ด๋ธ ๋๊ฐ๋ฅผ ์กฐ๊ฑด ์์ด ๋ชจ๋ ๋งค์นญํ ๊ฒฐ๊ณผ
SELECT *
FROM buy
CROSS JOIN member; -- buy TABLE COUNT * member ROW counใ
full join
MariaDB๋ FULL JOIN์ ์ง์ ์ง์ํ์ง ์์ต๋๋ค.
๋์ LEFT JOIN๊ณผ RIGHT JOIN์ UNION ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฐํฉํ์ฌ
๋์ผํ ํจ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค.
์๋ธ์ฟผ๋ฆฌ
์๋ธ ์ฟผ๋ฆฌ ๐ฅ
ํ๋์ sql๋ฌธ ์์ ๋ ๋ค๋ฅธ sql๋ฌธ์ด ์กด์ฌํ๋ ๊ฒ
์๋ธ์ฟผ๋ฆฌ ์ฌ์ฉ ์ ์ฃผ์์ฌํญ
- ๊ดํธ๋ก ๊ฐ์ธ์ ์ฌ์ฉํ๋ค.
- ๋จ์ผ ํ ๋๋ ๋ณต์ ํ ๋น๊ต ์ฐ์ฐ์์ ํจ๊ป ์ฌ์ฉ ๊ฐ๋ฅ
- ORDER BY๋ฅผ ์ฌ์ฉํ์ง ๋ชปํ๋ค
-- ์๋ธ์ฟผ๋ฆฌ
SELECT * FROM emp2 WHERE = ();
-- ์ค์นผ๋ผ ์๋ธ์ฟผ๋ฆฌ
-- select ์ ์ ์๋ ์ฟผ๋ฆฌ
-- ํ๋์ ๊ฐ์ ๋ฐํํ๋ ๋จ์ผํ ๋จ์ผ์ปฌ๋ผ
SELECT [ํ๋๋ช
], (SELECT ~~ ) FROM emp2 WHERE = ();
-- ์ธ๋ผ์ธ๋ทฐ
-- from ์ ์ ์๋ ์ฟผ๋ฆฌ
SELECT [ํ๋๋ช
] FROM (SELECT ~~) WHERE = ();
๋จ์ผํ ์๋ธ์ฟผ๋ฆฌ
๋ฑํธ, ๋ถ๋ฑํธ
SELECT employee_name
FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees);
๋ค์คํ ์๋ธ์ฟผ๋ฆฌ
in, >all, <all, >any, <any, exists
SELECT employee_name
FROM employees
WHERE department_id IN (SELECT department_id FROM departments WHERE location = 'New York');
๋ค์ค์ด ์๋ธ์ฟผ๋ฆฌ
๋ฐ์ํ
'TIL > DB' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
SQL ์ฐ์ต๋ฌธ์ 1 (0) | 2023.11.07 |
---|---|
sql group by , having (0) | 2023.11.07 |
SQL ๋ด์ฅํจ์ ์ ์ดํจ์ ( if , ifnull, nullif, case when) (0) | 2023.11.06 |
SQL ๋ฐ์ดํฐ ํ๋ณํ ํจ์ (1) | 2023.11.06 |
SQL DELETE, DROP, TRUNCATE ์ฐจ์ด (0) | 2023.11.02 |