반응형

전체 글 197

[오라클DB] 시퀀스 SEQUENCE

--시퀀스 --숫자를 자동으로 증가시켜줌 SELECT * FROM DUAL; SELECT * FROM TEST_BOARD; --DELETE FROM TEST_BOARD; INSERT INTO TEST_BOARD VALUES (T_SEQ.NEXTVAL,'곤니치와'); --DROP SEQUENCE T_SEQ; CREATE SEQUENCE T_SEQ2 INCREMENT BY 1 -- 1씩 증가 START WITH 1 -- 시작값 MINVALUE 1 -- 최소값 MAXVALUE 1000 -- 최대값 NOCYCLE; --순환 (CYCLE, NOCYCLE) -- 다음값 SELECT T_SEQ2.NEXTVAL FROM DUAL; -- 시퀀스 현재값 SELECT T_SEQ2.CURRVAL FROM DUAL;

Database 2023.03.28

[오라클DB] 쿼리 연습문제

SELECT *FROM EMP; SELECT * FROM DEPT; SELECT * FROM SALGRADE; SELECT * FROM EMP E INNER JOIN SALGRADE S ON E.SAL BETWEEN S.LOSAL AND HISAL; --1. 각 부서별 급여 등급 평균 구하기 SELECT DEPTNO, ROUND(AVG(GRADE),2) FROM EMP INNER JOIN SALGRADE ON SAL BETWEEN LOSAL AND HISAL GROUP BY DEPTNO; -- 2. 각 부서별 급여 등급이 3등급 이상인 사람의 수 구하기 SELECT DEPTNO, COUNT(*) FROM EMP INNER JOIN SALGRADE ON SAL BETWEEN LOSAL AND HISAL W..

Database 2023.03.28

[오라클DB] TO_DATE 문제

--날짜 데이터를 문자 데이터로 변환 (TO_CHAR) SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') FROM DUAL; --문자 데이터를 날짜 데이터로 변환 (TO_DATE) SELECT TO_DATE('20230328','YYYYMMDD') FROM DUAL; --1981년 1월 1월 이후 입사한 사람 데이터 출력 SELECT * FROM EMP WHERE HIREDATE > TO_DATE('19810101','YYYYMMDD'); --JONES라는 사원보다 늦게 입사한 사람 출력 SELECT * FROM EMP WHERE HIREDATE > ( SELECT HIREDATE FROM EMP WHERE ENAME = 'JONES' ); -- 1. 각 부서 별 입사..

Database 2023.03.28

[오라클DB] 연습문제2

--3. EMP 테이블에서 가장 많은 사원을 갖는 MGR의 사원번호를 출력하라. SELECT * FROM ( SELECT MGR, COUNT(*) AS CNT FROM EMP GROUP BY MGR ORDER BY CNT DESC ) WHERE ROWNUM = 1; -- 5. EMP 테이블에서 사원번호가 [7521인 사원의 직업과 같고] [사원번호가 7934인 사원의 -- 급여(SAL)보다 많은] 사원의 사원번호, 이름, 직업, 급여를 출력하라. SELECT EMPNO, ENAME, SAL FROM EMP WHERE JOB IN ( SELECT JOB FROM EMP WHERE EMPNO = '7521') AND SAL > ( SELECT SAL FROM EMP WHERE EMPNO = '7934' );..

Database 2023.03.27

[오라클DB] SQL 쿼리 연습문제

--1. 급여가 많은 순으로 출력하기 SELECT * FROM EMP ORDER BY SAL DESC; --2. 각 부서의 사람 수 구하기 SELECT DEPTNO, COUNT(*) FROM EMP GROUP BY DEPTNO; --3. salesman의 평균 급여 구하기 SELECT AVG(SAL) FROM EMP WHERE JOB = 'SALESMAN'; --4. 커미션(COMM)을 받는 사람의 수 구하기 SELECT COUNT(*) FROM EMP WHERE COMM IS NOT NULL; --5. 커미션(COMM)을 받는 사람들의 커미션 평균 하기 SELECT AVG(COMM) FROM EMP WHERE COMM IS NOT NULL; --6.사원번호가 77로 시작하는 사람 구하기 SELECT E..

Database 2023.03.27

[오라클DB 숙제] 3월 24일 실습문제1

--1. 가장 제고가 많은 남은 제품의 제품명, 제품종류, 남은갯수 출력 (남은갯수 미출력함...) SELECT P.P_NAME, C.NAME, A.P_LEFT FROM PRODUCT P LEFT JOIN T_CODE C ON C.CODE = P.KIND AND C.KIND = 'CLOTH' INNER JOIN ( SELECT P_ID, P_LEFT FROM ( SELECT P_ID, SUM(COUNT) AS P_LEFT FROM P_MANAGE GROUP BY P_ID ORDER BY P_LEFT DESC ) WHERE ROWNUM = 1 ) A ON A.P_ID = P.P_ID; --2. 유재석이 구매한 '모자' 제품의 각 사이즈별 수량 구하기 (해결) SELECT P_SIZE,SUM(COUNT) F..

Database 2023.03.24
반응형