본문 바로가기

DataBase/Oracle58

SUB-QUERY) 단일/다중행 다중컬럼 서브쿼리 안녕하세요, 코린이의 코딩 학습기 채니 입니다. 개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다. 단일/다중행 다중컬럼 서브쿼리 - 서브쿼리 결과가 1행 n열인 경우 : = 동등비교 연산자 사용 - 서브쿼리 결과가 n행 m열인 경우 : in, any/some, all, exists 연산자 사용 1행 2열을 리턴하는 서브쿼리 - ( ~ , ~ ) = ( ~ , ~를 리턴하는 서브쿼리) 퇴사한 직원이 한 명 있는데, 이 사원과 같은 부서, 같은 직급의 사원 조회 (사원명, 직급코드, 부서코드, 퇴사여부) select emp_name, dept_code, job_code, quit_yn from employee where (dept_code, job_code) = ( select dept_c.. 2022. 4. 21.
SUB-QUERY) 다중행 단일컬럼 서브쿼리 (any/some, all) 안녕하세요, 코린이의 코딩 학습기 채니 입니다. 개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다. 다중행 단일컬럼 서브쿼리 - 서브쿼리 결과가 n행 1열인 경우 - 값이 여러 개이므로 =, !=, >, < 등의 연산자는 사용 불가 - in, any / some, all, exists 연산자 사용 가능 (서브쿼리의 결과는 여러 행이지만, in연산자 안에서 가로로 나열됨) 송종기, 하이유 사원과 같은 부서원 조회 (사원명, 부서코드) select emp_name, dept_code from employee where dept_code in (select dept_code from employee where emp_name in ('송종기', '하이유')); 차태연, 박나라, 이오리와 같은 .. 2022. 4. 21.
SUB-QUERY) 단일행 단일컬럼 서브쿼리 안녕하세요, 코린이의 코딩 학습기 채니 입니다. 개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다. 단일행 단일컬럼 서브쿼리 - 서브쿼리 조회 결과가 1행 1열인 경우 (단일값) 노옹철 사원의 관리자 이름 조회 select emp_name as manager_name from employee where emp_id = ( select manager_id from employee where emp_name = '노옹철' ); 전 사원의 평균 급여보다 많은 급여를 받는 사원 조회 (이름, 급여) select emp_name, salary from employee where salary > ( select avg(salary) from employee ); 윤은해와 같은 금액의 급여를 받는 사.. 2022. 4. 21.
SUB-QUERY) 서브쿼리란?, 서브쿼리의 조건 안녕하세요, 코린이의 코딩 학습기 채니 입니다. 개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다. SUB-QUERY - main 쿼리에 속한 쿼리 (main 쿼리와 종속 관계) - 존재하지 않는 조건 (직접적으로 처리 불가)에 근거해서 검색할 때 유용 - main 쿼리 실행 중에 sub 쿼리를 만나면, 우선 sub 쿼리 실행 후 그 결과를 main 쿼리에 반환 조건 ① 반드시 소괄호 안에 위치 ② order by 문법 사용 불가 ③ 연산자 오른쪽에 작성할 것 노옹철 사원의 관리자 이름을 조회 [조인 버전] select e.emp_name 사원명, m.emp_name 관리자명 from employee e left join employee m on e.manager_id = m.emp_id.. 2022. 4. 21.
SET OPERATOR) SET OPERATOR 조건, 집합 연산자 종류 (union, union all, intersect, minus) 안녕하세요, 코린이의 코딩 학습기 채니 입니다. 개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다. SET OPERATOR - 집합 연산자 - 두 개 이상의 결과 집합을 세로로 연결해서 하나의 가상 테이블 (relation) 생성 SET OPERATOR 조건 ① select절의 컬럼 수가 동일해야함 ② select절의 상응하는 컬럼의 자료형이 상호호환 (char/varchar2 연결 가능) ③ order by절은 마지막 결과 집합에서 단 한 번만 사용 가능 ④ 컬럼명이 다른 경우, 첫 번째 결과 집합의 컬럼명 사용 집합 연산자 종류 ① union - 두 결과 집합을 연결하되, 중복 제거 / 첫 번째 컬럼 기준 오름차순 정렬 기능 지원 ② union all - 두 결과 집합을 그대로 연결 .. 2022. 4. 19.
JOIN/NON-EQUI-JOIN) NON-EQUI-JOIN 안녕하세요, 코린이의 코딩 학습기 채니 입니다. 개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다. NON-EQUI-JOIN - 조인 조건절에서 동등비교연산이 아닌 연산자를 사용해 조인하는 경우 select e.emp_name, e.salary, s.* from employee e join sal_grade s on e.salary between s.min_sal and s.max_sal order by 3; [오라클 전용문법 버전] select e.emp_name, e.salary, s.* from employee e, sal_grade s where e.salary between s.min_sal and s.max_sal; select e.emp_name, e.salary, s.* f.. 2022. 4. 19.