๐ SQL ์๋ธ์ฟผ๋ฆฌ์ ๋ํ ๊ธฐ๋ณธ ๊ฐ๋
SQL ์๋ธ์ฟผ๋ฆฌ๋ ํ๋์ SQL ๋ฌธ์ฅ ์์ ํฌํจ๋ ๋ค๋ฅธ SQL ๋ฌธ์ฅ์ด๋ค. ์ฃผ๋ก ๋ ๊ฐ์ง ์ ํ์ผ๋ก ๋๋ ์ ์๋ค.
๐ ๋น๊ต๋ฅผ ์ํ ์๋ธ์ฟผ๋ฆฌ
SQL ์๋ธ์ฟผ๋ฆฌ๋ ์ฃผ๋ก WHERE ๊ตฌ๋ฌธ ์์์ ์ฌ์ฉ๋๋ฉฐ, ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.
SELECT column1, column2, ...
FROM table_name
WHERE column_name operator (SELECT column_name FROM table_name WHERE condition);
[ํ์ฉ์์]
-- ๊ฐ ๋ถ์๋ณ๋ก ๊ฐ์ฅ ๋์ ๊ธ์ฌ๋ฅผ ๋ฐ๋ ์ง์์ ์ฐพ๋ ์ฟผ๋ฆฌ
SELECT employee_name, salary, department
FROM employees
WHERE salary = (SELECT MAX(salary) FROM employees GROUP BY department);
๐ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ๊ธฐ ์ํ ์๋ธ์ฟผ๋ฆฌ
SQL ์๋ธ์ฟผ๋ฆฌ๋ ์ฃผ๋ก SELECT ๊ตฌ๋ฌธ ์์์ ์ฌ์ฉ๋๋ฉฐ, ์๋ธ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ธ๋ถ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ๋ค.
SELECT column1, column2, ..., (SELECT column_name FROM table_name WHERE condition) AS alias_name
FROM table_name;
[ํ์ฉ์์]
-- ๊ฐ ๋ถ์์ ํ๊ท ๊ธ์ฌ๋ณด๋ค ๋์ ๊ธ์ฌ๋ฅผ ๋ฐ๋ ์ง์์ ์ฐพ๋ ์ฟผ๋ฆฌ
SELECT employee_name, salary, department
FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees GROUP BY department);
๐ ์ฃผ์์ฌํญ๊ณผ ์ถ๊ฐ ์ ๋ณด
- ๋จ์ผ ํ ์๋ธ์ฟผ๋ฆฌ์ฌ์ผ ํ๋ฉฐ, ์ค์นผ๋ผ ๊ฐ์ ๋ฐํํด์ผ ํ๋ค. (์ค์นผ๋ผ ์๋ธ์ฟผ๋ฆฌ๋ก ๋์ค๋ ๊ฐ์ ๋ฐ๋์ ํ๋)
- ์์ ์์๋ ๋น๊ต ์ฐ์ฐ์์ ํจ๊ป ์ฌ์ฉ๋๋๋ฐ, IN, EXISTS, ALL, ANY ๋ฑ์ด ์์ฃผ ์ฌ์ฉ๋๋ค.
- ์ฑ๋ฅ์ ๋ํ ๊ณ ๋ ค๊ฐ ํ์ํ๋ฉฐ, ์๋ธ์ฟผ๋ฆฌ๋ฅผ ์ ์ ํ ํ์ฉํด์ผ ํ๋ค.
'DATABASE > Theory' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SQL] ๋ฌธ์์ด ํจ์(2) (0) | 2023.12.31 |
---|---|
[SQL] ๋ฌธ์์ด ํจ์(1) (0) | 2023.12.31 |
[SQL] SQL Server์์ ๋ค๋ฃจ๋ ์๋ฃํ (1) | 2023.12.24 |
[SQL] ํ ์ด๋ธ ์์ฑ ๋ฐ ๋ฐ์ดํฐ ์กฐ์ (1) | 2023.12.23 |
[SQL] SELECT๋ฌธ (0) | 2023.12.22 |
๋๊ธ