본문 바로가기
반응형

내가 공부하려고 올리는/DB17

오라클 - 서브쿼리 알아보기 오라클에서 서브쿼리란 쉽게 말해, 하나의 쿼리 문장 안에 또 다른 쿼리 문장이 들어있는 것을 말합니다. 서브쿼리 사용 시 주의사항 서브 쿼리를 괄호로 감싸서 사용해야 한다. 서브 쿼리는 단일 행(Single Row) 또는 복수 행(Multiple Row) 비교 연산자와 함께 사용 가능하다. 단일 행 비교 연산자는 서브 쿼리 결과가 반드시 1건 이하여야 한다. 복수 행 비교 연산자는 서브쿼리의 결과 개수와 상관없다. 서브 쿼리에는 'ORDER BY'절을 사용하지 못한다.(ORDER BY 절은 메인쿼리에서만 사용 가능) 서브쿼리 사용 가능 위치 SELECT 뒤 FROM 뒤 WHERE 뒤 HAVING 뒤 ORDER BY 뒤 INSERT VALUES 뒤 UPDATE SET 뒤 거의 다 사용 가능하다.. 서브쿼리.. 2021. 11. 17.
오라클 - MIN 함수 실습(서브쿼리 대신 하기) 위와 같은 값을 갖는 TEMP 테이블에서 직급별로 최소 연봉을 갖는 직원의 사번과 연봉을 알아내려면 어떻게 해야할까요? 아마 질문을 듣고 서브 쿼리를 사용할 줄 아시는 분들은 서브쿼리 사용법을 떠올리실 겁니다. 그렇다면 서브쿼리를 사용하지 않고는 어떻게 구할 수 있을까요? 정답부터 말씀드리면, 정답은 다음과 같습니다. 그렇다면 이 SELECT문을 하나하나 찬찬히 분해해보겠습니다. 우선 직급과 사번, 연봉을 추출해야 합니다. 직급은 그대로 'SELECT LEV'로 추출합니다. 연봉은 MIN 함수를 'MIN(SALARY)'를 사용해서 추출합니다. 그렇다면 사번은 어떻게 해야 할까요? SUBSTR(MIN(LPAD(TO_CHAR(SALARY), 10, '0')||EMP_ID), 11) EMP_ID를 하나씩 분해.. 2021. 11. 16.
오라클 - 조인(JOIN) 정리해보기 조인은 두 개 이상의 테이블을 서로 연결하고 데이터를 구성하는 방법을 말합니다. 조인에는 오라클 조인이라고 불리는, 오라클에서 사용 가능한 조인이 있고, 모든 DB에서 사용이 가능한 ANSI 조인이 있습니다. 조인을 하는 방법은 다음과 같습니다. 1. FROM 절에 조인할 테이블을 입력한다. 2. 조건절에 테이블을 연결할 조건을 입력한다. 조인에는 다양한 종류가 있는데 종류와 함께 간단한 예제를 확인해보겠습니다. 1. CARTESIAN PRODUCT 카타시안 곱이라고 불린다. 조건절에 조인을 위한 조건을 기술하지 않고 사용하는 조인이다. 조건절을 적지 않아 해당 테이블에 대한 모든 데이터를 가져온다. ANSI 조인에서는 CROSS 조인이라고 부른다. cf) ANSI 조인은 다른 DBMS에서 통용되는 JO.. 2021. 11. 16.
오라클 - 날짜와 숫자를 문자로 나타내는 법 날짜 표현 오라클에서 날짜를 문자로 나타내는 데이터 형식은 TO_CHAR입니다. 'SELECT TO_CHAR(SYSDATE, '표현 형식')'과 같은 같은 형태로 사용됩니다. 표현 형식에 따른 결과를 알아보겠습니다. 1. YYYY : 연도 표현 2. YEAR : 연도 철자로 표현 3.Q : 분기 표현 4. MM : 월 표현 5. MONTH : '월'을 붙여 달 표현 6. DDD/DD/D : 각각 연/월/주로부터 몇 번째 일인지 표현 2021년부터 320일 째(11월 16일 기준) 11월부터 16일 째(11월 16일 기준) 이번 주 일요일부터 3일째(11월 16일 기준) 7. DAY : 오늘의 요일 표현 8. AM/PM : 오전/오후 표현 9. HH/HH24 : 시간 표현 현재 시간 12시간식으로 표현 현.. 2021. 11. 16.
오라클 - 존재하지 않는 컬럼의 값을 UNION 하는 방법 오라클의 집합 연산자를 사용할 때 집합 연산자로 연결된 SELECT문들은 컬럼의 수와 데이터 형이 순서대로 일치해야 합니다. 따라서 동일한 컬럼이 존재하는 경우에 다음과 같이 합집합을 이용한 데이터 SET을 만들 수 있습니다. 하지만 이런 경우는 어떨까요? 우선, TCOM 테이블을 확인해보겠습니다. TCOM 테이블의 전체 데이터는 위와 같습니다. 이번엔 TEMP 테이블을 확인해보겠습니다. TEMP 테이블의 전체 데이터는 다음과 같습니다.(일부 생략) 이런 테이블에서 동일한 EMP_ID를 사용하고 TEMP 테이블의 SALARY, TCOM 테이블의 COMM을 사용해 합집합을 하고 싶다면 어떻게 해야 할까요? 우선 위와 같은 방식으로 합집합을 사용해보겠습니다. 다음과 같이 동일한 컬럼명을 이용해 합집합 처리를.. 2021. 11. 8.
오라클 - 날짜와 시간을 더하고 빼기 오라클에서 날짜나 시간(시, 분, 초)을 더하고 빼는 방법을 알아보겠습니다. 우선 TO_CHAR 함수를 활용해 현재 시간을 알아보겠습니다. TO_CHAT함수는 선택된 날짜나 시간을 본인이 원하는 형식으로 출력할 수 있게 해주는 함수입니다. 현재 시스템 일자를 확인할 수 있는 SYSDATE 가상 컬럼을 이용해 현재 날짜를 확인해보겠습니다. 다음과 같은 실행문을 작성하면, 다음과 같은 결과를 얻을 수 있습니다. 'yy'는 Year, 'mm'은 Month, 'dd'는 Day를 의미합니다. SYSDATE에 숫자를 더하면 어떻게 될까요? 기본적으로 SYSDATE에 더해지는 숫자는 '일자'입니다. +1을 더하면 값이 '21년11월04'일로 바뀝니다. 따라서 30일 넘어가는 값을 더하게 된다면, '월'이 변화하게 됩.. 2021. 11. 3.
반응형