본문 바로가기

DataBase/Oracle58

JOIN/EQUI-JOIN) MULTIPLE JOIN 안녕하세요, 코린이의 코딩 학습기 채니 입니다. 개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다. MULTIPLE JOIN - 다중 조인 - 여러 테이블을 동시에 조인 처리 - ansi 표준 문법에서는 조인 되는 순서가 매우 중요 사원명 / 부서명 / 근무지역을 조회 employee.name / department.dept_title / location.local_name select * from employee e left join department d on e.dept_code = d.dept_id left join location l on d.location_id = l.local_code; 파란색 선을 기준으로 employee 테이블, department 테이블, locatio.. 2022. 4. 19.
JOIN/EQUI-JOIN) SELF JOIN 안녕하세요, 코린이의 코딩 학습기 채니 입니다. 개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다. SELF JOIN - 같은 테이블을 조인 처리 사원명/관리자명 조회 select * from employee e left join employee m on e.manager_id = m.emp_id; 파란 선을 기준으로 왼쪽은 employee e 테이블, 오른쪽은 employee m 테이블입니다. employee e의 manager_id와 employee m의 emp_id가 같을 때 join 하도록 하였고, 관리자가 없는 사원들도 우선 추출하기 위해서 left join을 이용하였습니다. select e.emp_name 사원명, m.emp_name 관리자명 from employee e lef.. 2022. 4. 19.
JOIN/EQUI-JOIN) CROSS JOIN 안녕하세요, 코린이의 코딩 학습기 채니 입니다. 개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다. CROSS JOIN - 상호 조인 - 모든 경우의 수대로 조인 처리 - 기준 조건절이 없음 select * from employee e cross join department d; 총 216행이 인출된 것을 확인할 수 있으며, 이는 employee의 모든 행이 department의 모든 행과 경우의 수대로 조인 처리 되었기 때문입니다. 따라서 employee의 모든 행이 D1~D9까지 조인 처리 되었기 때문에 employee 테이블의 행 수 (24) * department 테이블의 행 수 (9) = 216행이 추출되었습니다. [오라클 전용문법 버전] - where 조인 조건을 생략 sele.. 2022. 4. 19.
JOIN/EQUI-JOIN) INNER JOIN, OUTER JOIN, NATURAL JOIN(left outer join, right outer join, full outer join, using) 안녕하세요, 코린이의 코딩 학습기 채니 입니다. 개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다. JOIN - 두 개 이상의 테이블 레코드(entity)를 연결해서 가상 테이블 relation을 생성하는 문법 - 기준 컬럼을 가지고 두 테이블의 레코드를 연결 relation 생성하기 ① join ② set operator 송종기 사원의 부서명을 조회 -- 송종기 사원의 부서명을 조회 -- employee.emp_name -- department.dept_title select dept_code from employee where emp_name = '송종기'; select dept_title from department where dept_id = 'D9'; select * from (.. 2022. 4. 18.
DQL) HAVING 구문(rollup, cube, grouping 함수) 안녕하세요, 코린이의 코딩 학습기 채니 입니다. 개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다. HAVING - 조건절, 그룹핑된 결과 행에 대해서 결과 집합 포함 여부를 처리하는 구문 인턴 사원을 제외하고, 부서 별 평균 급여가 300만원 이상인 부서만 조회 (부서코드, 평균급여) select dept_code 부서, trunc(avg(salary)) 평균급여 from employee where dept_code is not null group by dept_code having trunc(avg(salary)) >= 3000000; 부서 별 인원 수가 3명 이상인 부서만 조회 (인원수 내림차순) select dept_code 부서, count(*) 인원수 from employee .. 2022. 4. 18.
DQL) GROUP BY 구문 안녕하세요, 코린이의 코딩 학습기 채니 입니다. 개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다. GROUP BY - 테이블 전체 행을 특정 컬럼이 동일한 행끼리 그룹핑 처리 - group by절이 없다면, 테이블 모든 행이 하나의 그룹으로 처리 - group by에 명시한 컬럼만이 select절에 사용될 수 있음 부서 별로 급여 합계/평균 select dept_code, sum(salary) sum_sal, trunc(avg(salary)) avg_sal from employee group by dept_code order by sum_sal desc; 부서 별로 인원 수 조회 (인원 수 내림차순) select dept_code, count(*) 인원수 from employee gro.. 2022. 4. 18.