728x90
λ°μν
-- dept, emp, salgrade table
-- 1. μ¬μ ν
μ΄λΈμ λͺ¨λ λ μ½λλ₯Ό μ‘°ννμμ€.
SELECT * FROM emp;
-- νμ λΆμ¬μ μΆλ ₯νκΈ°
-- row_number() over(μ λ ¬κΈ°μ€) => row_number() over(order by id desc)
SELECT ROW_NUMBER() OVER(ORDER BY empno DESC) AS NO, e.*
FROM emp e;
-- 2. μ¬μλͺ
κ³Ό μ
μ¬μΌμ μ‘°ννμμ€.
SELECT ename,hiredate FROM emp;
-- 3. μ¬μλ²νΈμ μ΄λ¦μ μ‘°ννμμ€.
SELECT empno, ename FROM emp;
-- 4. μ¬μν
μ΄λΈμ μλ μ§μ±
μ λͺ©λ‘μ μ‘°ννμμ€.(μ€λ³΅μ κ±°νκ³ λ³΄κΈ°)
SELECT DISTINCT job FROM emp;
-- 5. μ΄ μ¬μμλ₯Ό ꡬνμμ€. (μ§κ³ν¨μ μ΄μ©)
SELECT COUNT(ename) FROM emp;
-- 6. λΆμλ²νΈκ° 10μΈ μ¬μμ μ‘°ννμμ€.
SELECT ename, deptno FROM emp WHERE deptno = 10;
-- 7. μκΈμ¬κ° 2500μ΄μ λλ μ¬μμ μ‘°ννμμ€.
SELECT ename, sal FROM emp WHERE sal >=2500;
-- 8. μ΄λ¦μ΄ 'SCOTT'μΈ μ¬μμ μ‘°ννμμ€.
SELECT ename FROM emp WHERE ename = 'SCOTT';
-- 9. μ¬μλ€ μ€ μ΄λ¦μ΄ Sλ‘ μμνλ μ¬μμ μ¬μλ²νΈμ μ΄λ¦μ μ‘°ννμμ€.
SELECT ename, empno FROM emp WHERE ename LIKE 'S%';
-- 10. μ¬μ μ΄λ¦μ Tκ° ν¬ν¨λ μ¬μμ μ¬μλ²νΈμ μ΄λ¦μ μ‘°ννμμ€.
SELECT ename, deptno FROM emp WHERE ename LIKE '%T%';
-- 11. 컀미μ
μ΄ 300, 500, 1400 μΈ μ¬μμ μ¬λ²,μ΄λ¦,컀미μ
μ μ‘°ννμμ€.
SELECT empno, ename, comm FROM emp WHERE comm IN(300,500,1400);
-- 12. μκΈμ¬κ° 1200 μμ 3500 μ¬μ΄μ μ¬μμ μ¬λ²,μ΄λ¦,μκΈμ¬λ₯Ό μ‘°ννμμ€.
SELECT empno, ename, sal FROM emp WHERE sal BETWEEN 1200 AND 3500;
-- 13. μ§κΈμ΄ 맀λμ μ΄κ³ λΆμλ²νΈκ° 30λ²μΈ μ¬μμ μ΄λ¦,μ¬λ²,μ§κΈ,λΆμλ²νΈλ₯Ό μ‘°ννμμ€.
SELECT ename, empno, job, deptno FROM emp WHERE job = 'manager' AND deptno = 30;
-- 14. λΆμλ²νΈκ° 30μΈ μλ μ¬μμ μ¬λ²,μ΄λ¦,λΆμλ²νΈλ₯Ό μ‘°ννμμ€.
SELECT empno, ename, job FROM emp WHERE deptno != 30;
SELECT empno, ename, job FROM emp WHERE deptno <> 30;
-- 15. 컀미μ
μ΄ 300, 500, 1400 μ΄ λͺ¨λ μλ μ¬μμ μ¬λ²,μ΄λ¦,컀미μ
μ μ‘°ννμμ€.
SELECT empno, ename, comm FROM emp WHERE comm not IN(300, 500, 1400);
-- 16. μ΄λ¦μ Sκ° ν¬ν¨λμ§ μλ μ¬μμ μ¬λ²,μ΄λ¦μ μ‘°ννμμ€.
SELECT empno, ename FROM emp WHERE ename NOT LIKE '%s%';
-- 17. κΈμ¬κ° 1200λ³΄λ€ λ―Έλ§μ΄κ±°λ 3700 μ΄κ³Όνλ μ¬μμ μ¬λ²,μ΄λ¦,μκΈμ¬λ₯Ό μ‘°ννμμ€.
SELECT empno, ename, sal FROM emp WHERE sal NOT BETWEEN 1200 AND 3700;
-- 18. μ§μμμ¬κ° NULL μΈ μ¬μμ μ΄λ¦κ³Ό μ§κΈμ μ‘°ννμμ€.
SELECT ename, job FROM emp WHERE mgr IS NULL;
-- 19. λΆμλ³ νκ· μκΈμ¬λ₯Ό ꡬνμμ€.
SELECT job, avg(sal) FROM emp GROUP BY job;
-- 20. λΆμλ³ μ 체 μ¬μμμ 컀미μ
μ λ°λ μ¬μλ€μ μλ₯Ό ꡬνλ 쿼리
SELECT deptno, COUNT(*), COUNT(comm)
FROM emp
GROUP BY deptno;
-- 21. λΆμλ³ μ΅λ κΈμ¬μ μ΅μ κΈμ¬λ₯Ό ꡬνλ 쿼리
SELECT deptno, MAX(sal), MIN(sal)
FROM emp
GROUP BY deptno;
-- 22. λΆμλ³λ‘ κΈμ¬ νκ· (λ¨, λΆμλ³ κΈμ¬ νκ· μ΄ 2000 μ΄μλ§)
SELECT deptno, AVG(sal)
FROM emp
GROUP BY deptno
HAVING AVG(sal) >= 2000;
-- 23. μκΈμ¬κ° 1000 μ΄μμΈ μ¬μλ§μ λμμΌλ‘ λΆμλ³λ‘ μκΈμ¬ νκ· μ ꡬνλΌ. λ¨, νκ· κ°μ΄ 2000 μ΄μμΈ λ μ½λλ§ κ΅¬νλΌ.
SELECT deptno, AVG(sal)
FROM emp
WHERE sal >= 1000
GROUP BY deptno
HAVING AVG(sal) >= 2000;
-- * where μ μλ μ§κ³ν¨μ λͺ» μ
-- 24. κΈμ¬κ° λμ μμΌλ‘ μ‘°ννλ κΈμ¬κ° κ°μ κ²½μ° μ΄λ¦μ μ² μκ° λΉ λ₯Έ μ¬μμμΌλ‘ μ¬λ²,μ΄λ¦,μκΈμ¬λ₯Ό μ‘°ννμμ€.
SELECT empno, ename, sal
FROM emp
WHERE sal
ORDER BY sal DESC, ename asc;
-- 25. EMP ν
μ΄λΈμ μλ‘μ΄ μ¬μ μ 보 μΆκ°(νκΈΈλ) , λ€λ₯Έλ°μ΄ν° μμμ μΆκ°ν κ²
INSERT INTO emp VALUES(0000,'νκΈΈλ','manager',7000,'1993-05-17',500,NULL, 20);
-- 26. EMP ν
μ΄λΈμ μλ‘μ΄ μ¬μ μ 보 μΆκ°(μκΊ½μ , κΉμ°μ)
SELECT * FROM emp;
INSERT INTO emp VALUES(0001,'μκΊ½μ ','manager',7000,'1990-02-27', 500, NULL, 20);
INSERT INTO emp VALUES(0002,'κΉμ°μ','manager',7000,'1995-03-17', 500, NULL, 20);
-- 27. μ¬μν
μ΄λΈμμ μκΊ½μ μ μκΈμ¬λ₯Ό 2800 μΌλ‘ λ³κ²½
UPDATE emp SET sal = 2800 WHERE ename = 'μκΊ½μ ';
-- 28. μ¬μν
μ΄λΈμμ νκΈΈλμ μκΈμ¬λ₯Ό 300 λ§νΌ μΈμνκ³ COMMμ 500μΌλ‘ λ³κ²½
UPDATE emp SET sal = sal + 300, comm = 500 WHERE ename = 'νκΈΈλ';
UPDATE emp SET sal = sal+300, comm=nvl(comm,0)+500 WHERE ename = 'νκΈΈλ'; -- commμ΄ nullμΌ λ update
-- 29. μ¬μν
μ΄λΈμμ νκΈΈλ,μκΊ½μ ,κΉμ°μμ μμ
DELETE FROM emp WHERE ename IN ('νκΈΈλ','μκΊ½μ ','κΉμ°μ');β
1107_DMLλͺ
λ Ή λ¬Έμ .sql
0.00MB
dept_emp_salgrade table.sql
0.00MB
λ°μν
'TIL > DB' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
SQL JOIN μ μλΈμΏΌλ¦¬ (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 |