본문 바로가기

기타 IT 지식/SQL19

[ Oracle ] 오라클 서브쿼리 예제 아래 예제는 오라클에서 기본제공하는 hr 스키마를 이용했습니다. --ex 2-1) 부서별로 사원의 수가 5명 이상인 부서의 -- 부서번호와 부서명 -- , 부서장사번, first_name을 인원수순으로 출력하라. select d.department_id, d.department_name, d.manager_id, (select first_name from employees where d.manager_id = employee_id ), count(*) from departments d join employees e on d.department_id = e.department_id group by d.department_id, d.department_name, d.manager_id having count.. 2021. 4. 12.
[ Oracle ] 서브쿼리(SubQuery) | 서브쿼리 예제 Oracle SubQuery 특징 () 안에 작성한다. 외부쿼리(=메인쿼리)와 비교할 때 알맞은 연산자를 사용한다. (단일행/복수행, 단일 컬럼/복수 컬럼) 연관성이 있는 쿼리(correlated subquery) 또는 없는 쿼리 group by, order by 절을 제외하고 모든 절에 사용 가능하다. 복수행이 리턴될 때 all : 서브 쿼리 리턴 값 중 최대값 Scott 스키마를 활용한 Subquery 활용 문제 : 부서명이 'SALES' 인 사원의 사번과 이름은? select e.. 2021. 4. 5.
[ Oracle ] oracle 에서 기본으로 제공해주는 HR 스키마를 가지고 활용해보자! 오라클에서 기본으로 제공해주는 hr 스키마는 위 그림과 같은 구조를 가진다. 이제 이 스키마를 가지고 여러 문제들을 해결하면서 sql 을 공부해보자! -- 1-1. 사원의 first_name이 기억나지 않는다. 그 last_name에 'smith'라는 단어가 들어가는데 대문자, -- 소문자도 모른다. 그 사원의 사번(employee_id), first_name, last_name을 출력하라. select employee_id, last_name,first_name from EMPLOYEES where lower(last_name) like '%smith%'; --1-2. 고용일자(hire_date)가 오늘일자와 같은 달이고 고용일자의 요일이 월요일이나 --금요일인 사원에 대한 사번(employee_id).. 2021. 3. 29.
[ Oracle ] Oracle Self Join 예제, 쓰는 이유 Self Join 이란, 자기 자신과 Join 하는 것이다. 어떤 경우에서 Self join 을 사용하는지를 알아보자. 위 사진은 emp 테이블을 출력한 것이다. 여기서, 매니저 사번, 매니저명, 부하직원사번, 부하직원명을 매니저사번별로 출력하려면 어떻게 해야할까? 예를 들어서, SMITH 의 매니저는 MGR 컬럼번호 7902를 가지고 있는 FORD 가 될 것이다. ALLEN 의 매니저는 7698 이라는 mgr 번호를 가진 BLAKE 가 될것이고. 이럴 때 self join 을 이용하여 마치 mgr 컬럼을 가지고 있는 테이블이 하나 존재하는 것 마냥 쿼리를 짜주면 된다. select e1.mgr, e2.ename, e1.empno, e1.ename from emp e1 join emp e2 on e1.m.. 2021. 3. 29.