본문 바로가기

Programming49

오라클[sql] 연습문제 연습문제 ▶ employees 테이블 / departments 테이블 -- 부서정보 CREATE TABLE departments AS SELECT * FROM HR.DEPARTMENTS; ▶ Zlotkey와 동일한 부서에 속한 모든 사원의 이름과 입사일을 표시하는 질의를 작성하십시오. -- Zlotkey는 제외 SELECT first_name || ' ' || last_name AS full_name, hire_date, department_id FROM employees WHERE department_id = ( SELECT department_id FROM employees WHERE last_name = 'Zlotkey') AND last_name != 'Zlotkey'; -- AND last_na.. 2022. 9. 24.
오라클[sql] 서브쿼리 / 연습문제 서브쿼리 ▶ 메인쿼리 : 쿼리문 전체 ▶ 서브쿼리 : 메인쿼리 안에 있는 또 하나의 SELECT 문장 -- 쿼리(SQL)에서 나오는 결과를 이용하여 메인쿼리에 적용을 하고자 할 때 사용하는 것이 "서브쿼리" -- SQL 문장 내에 포함된 또 하나의 SELECT 문장 * SQL 문장 : INSERT UPDATE DELETE 무관하게 사용가능 -- 쿼리문 전체 > 메인쿼리, 메인쿼리안에 들어있는 SELECT > 서브쿼리 * 메인쿼리 : DML 모두 사용 가능 * INSERT INTO > SELECT / UPDATE > SELECT / DELETE > SELECT / SELECT > SELECT -- 실행순서 > 서브쿼리 > 메인쿼리 * 서브쿼리 무조건 ( ) 묶어서 작성 * 연산자의 오른쪽에 작성 ▶ SEL.. 2022. 9. 24.
오라클[sql] 연습문제 / 조인문제 연습문제 ▶ * SELECT 통해서 WHERE 조건으로 1차적인 데이터를 추출 ▶ 1. WHERE 통해서 데이터 추출 ▶ 2. GROUP BY 통해서 그룹화 ▶ 3. HAVING 통해서 그룹화된 데이터를 추출 ▶ 4. ORDER BY 통해서 정렬 ▶ ROWNUM / ORDER BY ▶ ROWNUM 출력될 대상의 순서를 작성, ORDER BY가 후작업, ORDER BY 랑은 무관 ▶ SELECT 단순조회 각자 시스템이 단순 조회를 해온것, ORDER BY 하지 않는 이상 데이터 순서는 항상 조금씪 다르게 보일수 있음 ▶ 업무별, 부서별 급여합계, 인원수 (10번 부서를 제외, 업무 SALESMAN MANAGER만 출력) SELECT job, deptno, sum(sal), count(*) FROM emp .. 2022. 9. 24.
오라클[sql] JOIN / JOIN ▶ 조인 : 테이블간의 기준값을 정하여 2개 이상의 테이블을 하나의 테이블로 보이게끔 작성하는 기술 ▶ 하나의 테이블에서 있던 값을 가져오는 작업 CREATE TABLE dept AS SELECT * FROM scott.dept; SELECT * FROM emp; -- 사원 정보 테이블 SELECT * FROM dept; -- 부서 정보 테이블 -- 부서 정보가 변경이 되었을 경우 부서 테이블만 변경하도록 수정 -- 사원 정보가 변경이 되어도 부서정보와는 무관하게 변경하도록 설계 -- 데이터가 여러곳에 흩어져있기 때문에 사용자가 원하는 데이터를 모두 찾으려고 하면 여러테이블을 모두 조회 ▶ join 조인 기술 : 여러 테이블의 흩어져 있는 정보중에 필요한 정보만 가지고 와서 가상의 테이블처럼 결.. 2022. 9. 24.
오라클[sql] 그룹함수 / GROUP BY / HAVING 그룹함수 하나의 테이블에서 하나 이상의 행을 그룹으로 묶어서 하나의 결과로 나타내는 함수 - sum(), avg(), max(), min() - count() : 행의 갯수 sum(), avg(), max(), min() sal 14개의 행이지만 sum 그룹함수를 통해서 14개의 행에 대한 값을 다 더하여 하나의 행으로 출력 SELECT sum(sal) from emp; SELECT sal from emp; SELECT sum(sal), avg(sal), max(sal), min(sal) FROM emp; count( ) 집계함수 : count( ) 행의 갯수 SELECT COUNT(*) FROM EMPLOYEES; ▶ 중복처리를 한 갯수 : DISTINCT ▶ 부서의 갯수 SELECT COUNT (DI.. 2022. 9. 13.
오라클[sql] 연습문제 연습문제 ▶ 이름, 업무, 급여(SAL), 보너스(COMM), 급여+보너스를 출력 SELECT ename, job, sal, comm, sal+NVL(comm, 0) FROM emp; ▶ 현재 급여에 15% 증가된 급여를 사원번호, 이름, 업무, 급여, 증가된 급여(New Salary), 증가액(Increase)를 출력 SELECT empno, ename, job, sal, sal*1.15 AS "New Salary", sal*0.15 AS "Increase" FROM emp; ▶ 이름, 입사일, 입사일로부터 6개월 후에 돌아오는 월요일을 출력 SELECT ename, hiredate, NEXT_DAY(ADD_MONTHS(hiredate, 6), 3) FROM emp; ▶ 이름, 입사일, 입사일로부터 현.. 2022. 8. 22.