๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์ ๋ชจ๋ ๋ฐ์ดํฐ ์์ ์ ์์์ ์ ๋๋ค. SQL์ SELECT ๋ฌธ์ ์ด๋ฌํ ๋ฐ์ดํฐ ์กฐํ ์์ ์ ํต์ฌ์ ๋๋ค. ์ด ๊ธ์์๋ SELECT ๋ฌธ ์์ฑ์ ๊ธฐ๋ณธ์ ์์๋ณด๊ณ ์ ํฉ๋๋ค.
1. SELECT ๋ฌธ์ ๊ธฐ๋ณธ ๊ตฌ์กฐ
SELECT ๋ฌธ์ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
SELECT {[DISTINCT] COLUMN|EXPRESSION [ALIAS], ...}
FROM TABLE;
SELECT
: ํ์ํ ์ด(column)์ ์ง์ ํฉ๋๋ค.FROM
: ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ํ ์ด๋ธ์ ์ง์ ํฉ๋๋ค.[ ]
: ๋๊ดํธ ์์ ์์๋ ์ ํ์ ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, 'EMPLOYEES' ํ ์ด๋ธ์์ ์ง์์ ์ด๋ฆ๊ณผ ๊ธ์ฌ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๊ณ ์ถ๋ค๋ฉด:
SELECT FIRST_NAME, LAST_NAME, SALARY
FROM EMPLOYEES;
2. ๋ชจ๋ ์ด ์ ํํ๊ธฐ
ํ
์ด๋ธ์ ๋ชจ๋ ์ด์ ์ ํํ๊ณ ์ถ๋ค๋ฉด asterisk(*
) ๊ธฐํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค:
SELECT *
FROM EMPLOYEES;
3. ๋ณ์นญ(Alias) ์ฌ์ฉํ๊ธฐ
์ด์ด๋ ํํ์์ ๋ณ์นญ์ ์ง์ ํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ๋ ์ฝ๊ธฐ ์ฝ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
- ๋ณ์นญ์ ์ด ์ด๋ฆ ๋ฐ๋ก ๋ค์ ์ ์ํฉ๋๋ค.
AS
ํค์๋๋ ์ ํ์ ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.- ๊ณต๋ฐฑ์ด๋ ํน์ ๋ฌธ์๊ฐ ํฌํจ๋ ๋ณ์นญ์ ํฐ๋ฐ์ดํ(" ")๋ก ๋ฌถ์ด์ผ ํฉ๋๋ค.
์์:
SELECT SALARY * 12 "Annual Salary"
FROM EMPLOYEES;
4. ๊ฐ๋จํ ๊ณ์ฐ ์ํํ๊ธฐ
SELECT ๋ฌธ์์๋ ๊ธฐ๋ณธ์ ์ธ ์ฐ์ ์ฐ์ฐ์ ์ํํ ์ ์์ต๋๋ค. (NUMBER ๋ฐ DATE ๋ฐ์ดํฐ์ ๋ํด)
+
: ๋ง์ -
: ๋บ์ *
: ๊ณฑ์ /
: ๋๋์
์๋ฅผ ๋ค์ด, ์ง์์ ์ฐ๋ด์ ๊ณ์ฐํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ํ ์ ์์ต๋๋ค:
SELECT SALARY * 12 AS ANNUAL_SALARY
FROM EMPLOYEES;
โ ๏ธ NULL ๊ฐ์ ํฌํจํ ์ฐ์ ์์ ๊ฒฐ๊ณผ๋ ํญ์ NULL์ ๋๋ค.
5. ์ค๋ณต ์ ๊ฑฐํ๊ธฐ
๊ธฐ๋ณธ์ ์ผ๋ก SELECT ๋ฌธ์ ๋ชจ๋ ํ์ ๋ฐํํฉ๋๋ค. ์ค๋ณต๋ ํ์ ์ ๊ฑฐํ๋ ค๋ฉด DISTINCT
ํค์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.
SELECT DISTINCT DEPARTMENT_ID
FROM EMPLOYEES;
6. ๋ฌธ์์ด ์ฐ๊ฒฐํ๊ธฐ
||
์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์์ด์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค:
SELECT FIRST_NAME || ' ' || LAST_NAME AS "Full Name"
FROM EMPLOYEES;
7. ํ ์ด๋ธ ๊ตฌ์กฐ ํ์ธํ๊ธฐ
ํ
์ด๋ธ์ ๊ตฌ์กฐ๋ฅผ ํ์ธํ๊ณ ์ถ๋ค๋ฉด DESCRIBE
ํค์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค:
DESCRIBE EMPLOYEES
์ด ๋ช ๋ น์ 'EMPLOYEES' ํ ์ด๋ธ์ ๋ชจ๋ ์ด, ๊ฐ ์ด์ ๋ฐ์ดํฐ ํ์ , NULL ํ์ฉ ์ฌ๋ถ ๋ฑ์ ๋ณด์ฌ์ค๋๋ค.
Oracle SQL ๋ฌธ๋ฒ์ ๊ธฐ์ค์ผ๋ก ์์ฑํ์์ต๋๋ค.
'๐ฅ๏ธ CS > Database' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SQL] ๋จ์ผ ํ ํจ์(Single-Row Functions) (1) | 2024.09.21 |
---|---|
[SQL] ๋ฐ์ดํฐ ์ ํ(WHERE) & ์ ๋ ฌ(ORDER BY) (0) | 2024.09.19 |