ํ์ต ๋ด์ฉ
- Select
ํ์ :
SELECT ( ๊ฐ, ์ปฌ๋ผ๋ช
, ํจ์, SUB QUERY)
FROM (ํ
์ด๋ธ๋ช
, SUB QUERY)
SELECT 1 FROM DUAL;
SELECT * FROM EMP;
- ํ์ฌ ๊ณ์ ์ ํ ์ด๋ธ ์ ๋ณด ๋ชจ๋ ๋ช ์ธ
SELECT * FROM TAB;
- ALIAS (์ปฌ๋ผ๋ช ์ค์ )
SELECT EMPNO AS "์ฌ์ ๋ฒํธ", SAL AS ์๊ธ, SAL * 12 "์ผ๋
์น ์ฐ๋ด" FROM EMP;
- DISTINCT : ์ค๋ณตํ ์ญ์
SELECT DISTINCT JOB FROM EMP; -- ์ค๋ณต ์ ๊ฑฐ
- WHERE ์กฐ๊ฑด์ -> if
&&(AND), ||(OR), ( )
-- && == AND
SELECT FIRST_NAME, LAST_NAME
FROM EMPLOYEES
WHERE FIRST_NAME = 'Shanta'
AND LAST_NAME = 'Vollman';
-- || == OR
SELECT FIRST_NAME, LAST_NAME
FROM EMPLOYEES
WHERE FIRST_NAME = 'Shanta'
OR LAST_NAME = 'Vollman';
๋น๊ต์ฐ์ฐ์ ( > < >= <= = != <> )
- ex) ๊ธ์ฌ๊ฐ $9000 ์ด์์ธ ์ฌ์
SELECT first_name, SALARY
FROM employees
WHERE SALARY >= 9000;
- ex) ์ด๋ฆ์ ์ฒซ ์คํ ๋ง์ด J๋ณด๋ค ํฐ ์ด๋ฆ
SELECT FIRST_NAME, SALARY
FROM EMPLOYEES
WHERE FIRST_NAME >= 'J';
NULL, IS NULL, IS NOT NULL
- ex) ๋งค๋์ ๊ฐ ์๋ ์ฌ์
SELECT FIRST_NAME, LAST_NAME
FROM EMPLOYEES
WHERE MANAGER_ID IS NOT NULL;
- ALL(=AND), ANY(=OR)
SELECT *
FROM EMPLOYEES
WHERE FIRST_NAME = ALL('Julia', 'John'); -- 'Julia'์ด๋ฉด์ 'John'
SELECT *
FROM EMPLOYEES
WHERE FIRST_NAME = ANY('Julia', 'John'); -- 'Julia'์ด๊ฑฐ๋ 'John'
- IN, NOT IN
SELECT FIRST_NAME, SALARY
FROM EMPLOYEES
WHERE FIRST_NAME IN('Julia', 'John'); --'Julia' ๋๋ 'John'์ธ ์ฌ๋
SELECT FIRST_NAME, SALARY
FROM EMPLOYEES
WHERE SALARY NOT IN(8000,3200,6000); -- ์ธ ๊ธ์ฌ ์ด์ธ์ ๊ธ์ก
- LIKE
SELECT FIRST_NAME
FROM EMPLOYEES
WHERE FIRST_NAME LIKE 'G_ra_d'; -- _ ํ๊ธ์
SELECT FIRST_NAME
FROM EMPLOYEES
WHERE FIRST_NAME LIKE 'K%y'; -- % ๊ธ์ ์์ ๊ด๊ณ์์ด ๋ชจ๋ ํ์ฉ
ORDER BY == SORTING
SELECT COLUMN VALUE SUB QUERY
FROM TABLE SUB QUERY
WHERE IF
ORDER BY COLUMN ASC(์ค๋ฆ์ฐจ์) DESC(๋ด๋ฆผ์ฐจ์)
SELECT ENAME, SAL
FROM EMP
ORDER BY SAL ASC; -- SAL ์ค๋ฆ์ฐจ์
SELECT ENAME, SAL
FROM EMP
ORDER BY SAL DESC; -- SAL ๋ด๋ฆผ์ฐจ์
๋ , ์, ์ผ
SELECT EXTRACT(YEAR FROM TO_DATE('210623', 'YYMMDD')) AS ์ฐ๋,
EXTRACT(MONTH FROM TO_DATE('210623', 'YYMMDD')) AS ์,
EXTRACT(DAY FROM TO_DATE('210623', 'YYMMDD')) AS ์ผ,
EXTRACT(DAY FROM SYSDATE) AS ์ผ
FROM DUAL;
์, ๋ถ, ์ด
SELECT EXTRACT(HOUR FROM CAST(TO_DATE('2021-06-23 19:42:02', 'YYYY-MM-DD HH24:MI:SS') AS TIMESTAMP)) AS ์,
EXTRACT(MINUTE FROM CAST(SYSDATE AS TIMESTAMP)) AS ๋ถ,
EXTRACT(SECOND FROM CAST(SYSDATE AS TIMESTAMP)) AS ์ด
FROM DUAL;
GROUP BY : ๊ทธ๋ฃน์ผ๋ก ๋ฌถ๋ ๊ธฐ๋ฅ
HAVING : ๋ฌถ์์ ๋ ์กฐ๊ฑด
SELECT department_id
FROM employees
GROUP BY department_id
ORDER BY department_id ASC; -- ์ํ
์ ๋ฐ๋ก ํด์ค์ผํ๋ค.
ํต๊ณ - GROUP FUNCTION (๊ทธ๋ฃนํจ์)
COUNT, SUM, AVG, MAX, MIN
SELECT COUNT(SALARY), COUNT(*), SUM(SALARY), AVG(SALARY), MAX(SALARY), MIN(SALARY)
FROM EMPLOYEES
WHERE JOB_ID = 'IT_PROG';
SELECT JOB_ID, COUNT(*), SUM(SALARY), AVG(SALARY)
FROM EMPLOYEES
GROUP BY JOB_ID
ORDER BY JOB_ID;
SELECT JOB_ID, SUM(SALARY)
FROM EMPLOYEES
GROUP BY JOB_ID
HAVING SUM(SALARY) >= 100000;
ex) ๊ธ์ฌ๊ฐ 5000์ด์ ๋ฐ๋ ์ฌ์๋ง์ผ๋ก ํฉ๊ณ๋ฅผ ๋ด์ ์ ๋ฌด(JOB_ID)๋ก ๊ทธ๋ฃนํํ์ฌ ๊ธ์ฌ์ ํฉ๊ณ๊ฐ 20000์ ์ด๊ณผํ๋ ์ ๋ฌด๋ช ์ ๊ตฌํ๋ผ.
SELECT JOB_ID, SUM(SALARY), MIN(SALARY)
FROM EMPLOYEES
WHERE SALARY >= 5000
GROUP BY JOB_ID
HAVING SUM(SALARY) > 20000;
'๐ป ๊ฐ๋ฐ > ๐ TIL (Today I Learned)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
21.02.18 TIL (D+27 ORACLE PL/SQL) (0) | 2021.02.18 |
---|---|
21.02.16 TIL (ORACLE SUB QUERY, JOIN, TABLE, DDL, DML, ๋ฌด๊ฒฐ์ฑ) (0) | 2021.02.16 |
21.02.09 TIL (D+22 Oracle DDL, ์๋ฃํ , ํ์ค ํจ์) (0) | 2021.02.09 |
21.02.01 TIL (D+16 JAVA ArrayList, ์ ๋ค๋ฆญ) (0) | 2021.02.01 |
JAVA ์ ์๊ด๋ฆฌ ํ๋ก๊ทธ๋จ ๋ง๋ค๊ธฐ (0) | 2021.02.01 |