-
SELECT๋ฌธ ๊ธฐ์ดSQL 2023. 3. 26. 14:39
1. SELECT๋ฌธ
๐ SELECT๋ฌธ์ ์ฌ์ฉํ์ฌ ์ ๋ ฅํ ์๋ฃ ์กฐํ
- SELECT: ์ถ๋ ฅ๊ฒฐ๊ณผ ์นผ๋ผ ๋์ด
- FROM: ์กฐํ ๋์ ํ ์ด๋ธ ์ ์
- WHERE: ์กฐ๊ฑด
- ALL/DISTINCT: ์ค๋ณต๋ ๋ฐ์ดํฐ๋ ์ถ๋ ฅ(์๋ต๊ฐ๋ฅ)/์ค๋ณต์ ๊ฑฐ๋ ๋ฐ์ดํฐ ์ถ๋ ฅ
- ์ซ์ํ์ ๊ทธ๋๋ก ํํ, ๋ฌธ์ํ์ " ์ฌ์ฉ
๐ ์คํ์์: FROM -> WHERE -> SELECT
๐ ์์ )
SELECT ENAME, JOB, SAL FROM EMP WHERE SAL >= 1500;
๐ * : ์ ์ฒด ์นผ๋ผ์ ์ถ๋ ฅ
SELECT * FROM EMP;
๐ ALIAS ๋ถ์ฌ
SELECT column1 AS alias1, column2 AS "alias2", ... FROM table;
- alias1: ์นผ๋ผ์ ๋ํ ๋ณ๋ช ์ ์
- "alias2": ๊ณต๋ฐฑ, ์ซ์, ํน์๋ฌธ์, ๋์๋ฌธ์ ํํ์ ""์ฌ์ฉ
๐ ์์ )
SELECT EMPNO AS ID, ENAME AS NAME, SAL AS "201601" FROM EMP;
โถ ์นผ๋ผ์ด ์ง์ ๋ alias ๋ช ์ผ๋ก ์ถ๋ ฅ๋จ(PostgreSQL์ ๊ธฐ๋ณธ ์๋ฌธ์, Oracle์ ๊ธฐ๋ณธ ๋๋ฌธ์๋ก ์ถ๋ ฅ)
๐ ์ฐ์ ์ฐ์ฐ์์ ํฉ์ฑ ์ฐ์ฐ์
- ์ํ์ฐ์ฐ ์์์ ๊ฐ์
- ๋ฌธ์์ ๋ฌธ์ ์ฐ๊ฒฐ์ ๊ฒฝ์ฐ ||์ ์ํด ์ด์ด์ง
- CONCAT(string1, string2) ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ํฉ์ฑํ ์ ์์
๐ ์์ )
select sal*1.5 as sal, ename||'['||job||']' as ename from emp;
๐ WHERE์ ํ์ฉ
๐ ๋น๊ต์ฐ์ฐ์
SELECT * FROM EMP WHERE SAL >= 3000;
๐ ๋ถ์ ์ฐ์ฐ์
SELECT * FROM EMP WHERE NOT DEPTNO = 30
๐ ๋ ผ๋ฆฌ์ฐ์ฐ์(AND, OR)
SELECT * FROM EMP WHERE DEPTNO = 10 AND SAL >= 3000;
๐ SQL์ฐ์ฐ์_IN
- IN์กฐ๊ฑด์ = OR์กฐ๊ฑด์ผ๋ก ๋น๊ต ์ํ
- ex) ๋ถ์๋ฒํธ๊ฐ 10๋๋ 20๋๋ 30์ธ ์กฐ๊ฑด
SELECT * FROM EMP WHERE DEPTNO IN (10,20,30);
๐ SQL์ฐ์ฐ์_BETWEEN
- ex) ๊ธ์ฌ๊ฐ 2000์ด์ 3000์ดํ์ธ ์กฐ๊ฑด
SELECT * FROM EMP WHERE SAL BETWEEN 2000 AND 3000;
๐ SQL์ฐ์ฐ์_LIKE
- %: ๋ชจ๋ ๋ฌธ์์ด, _: ํ๊ธ์์ ๋ชจ๋ ๋ฌธ์์ด
- ex) ์ฌ์๋ช ์ด A๋ก ์์ํ๋ ์กฐ๊ฑด: ENAME LIKE 'A%'
- ESCAPE: ํจํด์์ ์ฌ์ฉํ๋ ํน์๋ฌธ์๋ฅผ '๋ฌธ์'๋ก ์ธ์์ํฌ ๋ ์ฌ์ฉ
- ex) ENAME LIKE '%\%' ESCAPE '\' : ๋ค์ %๋ ์ง์ง ํผ์ผํธ ๋ฌธ์๋ฅผ ์๋ฏธํ๊ฒ๋จ
select * from emp where ename like '_A%'; => ์ฌ์๋ช ์ ๋์งธ ์๋ฆฌ์ A๊ฐ ๋ค์ด๊ฐ๋ ์ฌ์์ ๋ณด select * from emp where ename like '%AR%'; => ์ฌ์๋ช ์ AR์ด ํฌํจ๋๋ ์ฌ์์ ๋ณด
'SQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
SQL ํจ์(CASE ๋ฌธ) (0) 2023.04.13 SQL ํจ์(๋ช ์์ ์ ํ๋ณํ ํจ์) (0) 2023.04.12 SQL ํจ์(์ซ์ ํจ์) (0) 2023.04.12 SQL ํจ์(๋ฌธ์ํจ์) (0) 2023.04.12 SELECT ๋ฌธ(LIMIT, OFFSET) (0) 2023.04.12