티스토리 뷰
<인라인 뷰>
-사용하는 이유: 새로운 칼럼을 만든 것을 밖에서 다시 사용해서 추가 작업을 이어나가야 할 때 사용.
-처음에는 헷갈리니까 내가 필요한 select 구문을 찾고 그대로 그걸
from 절에 넣어주고 그대로 이어서 작업해주면 됨.
--인라인뷰
select *
from (select *
from employees);
--order를 거치면서 순서가 섞임
select rownum, first_name,job_id, salary
from employees
order by salary;
--인라인뷰
select rownum,
a.*
from (select first_name, job_id, salary
from employees
order by salary) a
where rownum <= 10;
--rownum이 중간 카운트 불가
select rownum,
a.*
from (select first_name, job_id, salary
from employees
order by salary) a
where rownum > 10 and rownum <=20; --값이 안 나오는 이유는 rownum은 값이 첫 번째 행부터 있어야 조회할 수 있다.
--3중 인라인 뷰
select *
from (select rownum as rn,
a.*
from(select *
from employees
order by salary desc) a)
where rn > 10 and rn <= 20;
----------------------------------------------------------------------------------------
--인라인 뷰 응용 (JOIN테이블의 위치로 인라인뷰 삽입가능 or 스칼라 쿼리와 혼합해서 사용가능)
--DEPARTMENTS 테이블에서 MANAGER_ID가 NULL이 아닌 데이터를, EMPLOYEES에 조인
SELECT *
FROM employees E
LEFT OUTER JOIN (SELECT *
FROM DEPARTMENTS
WHERE MANAGER_ID IS NOT NULL) D
ON E.DEPARTMENT_ID = D.DEPARTMENT_ID;
--salary가 10000이상인 직원의 정보 전부, 부서명, 부서의 주소, job_title을 출력. salary기준으로 내림차순
select e.*,
d.department_name,
l.street_address,
j.job_title
from employees e
left outer join departments d on e.department_id = d.department_id
left outer join locations l on d.location_id = l.location_id
left outer join jobs j on e.job_id = j.job_id
where salary >= 10000;
--인라인뷰에 들어갈 구문(위에랑 똑같은 구문임)
SELECT A.*,
(SELECT STREET_ADDRESS FROM LOCATIONS L WHERE L.LOCATION_ID = A.LOCATION_ID),
(SELECT JOB_TITLE FROM JOBS J WHERE J.JOB_ID = A.JOB_ID) AS JOB_TITLE
FROM (select *
from employees e
left outer join departments d
on e.department_id = d.department_id
where salary >= 10000) A;
< DML(Data Manipulation Language) >
#DML 문장은 다음의 경우에 실행됩니다.
-테이블에 새로운 행을 추가할 때
-테이블에 있는 기존의 행을 변경할 때
-테이블로부터 기존의 행을 제거할 때
<기억할거>
*where -> 서브쿼리 : 조건을 걸어줌.
*select ->서브쿼리 : join의 역할을 함
*from ->서브쿼리 :인라인뷰 라고 함
*rownum 을 조회할 땐 rownum이 무조건 1행부터 나와야함.
만약 rownum 20이상 40미만 이렇게 제한을 주고싶으면 인라인 뷰를 사용해주어야함.
*select 구문에 관한 내용이 제일 중요함. 공부 잘 해두기.
'데이터베이스 수업 기록' 카테고리의 다른 글
22-11-16 제약조건, 뷰, 시퀀스 (0) | 2022.11.16 |
---|---|
22-11-15 DML 구문, 트랜잭션, DDL문 (0) | 2022.11.16 |
22-11-11 SELF JOIN, 오라클용 조인구문, 서브쿼리(단일행, 다중행, 스칼라 서브쿼리) (0) | 2022.11.11 |
22-11-10 그룹함수, 조인(join) (0) | 2022.11.10 |
22-11-09 문자조작,숫자,날짜,변환 함수 /집합 연산자/분석 함수 (2) | 2022.11.09 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 강남 중앙정보처리학원
- interface #자바
- 가비지 콜렉팅
- output 스트림
- 국비학원
- input 스트림
- 자바수업
- 자바스크립트 ES6 문법
- 국비지원 학원 수업 내용
- 데이터베이스 수업
- 오코노라멘
- 배열과 탐색
- JS ES6 문법
- 중앙정보처리학원
- 자바
- nasted class
- 강남역 12번 춣구
- 자바 api
- api 활용
- 자바#자바수강기록
- 다중 반복문
- 내포 클래스
- FOR문
- 박문석 선생님
- 배열 삭제
- 배열의 정렬
- 박인욱 강사님
- 국비학원 수업
- 알람 시계 문제
- 조건문
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
글 보관함