목록전체 글 (65)
ENFJ 비전공자 개발스터디
오라클 Oracle 서브 쿼리 SubQuery 서브 쿼리Sub-Query 란 한 SQL 문장 안에서 보조로 사용되는 또 다른 SELECT문을 의미한다. 최종 결과를 출력하는 쿼리를 메인 쿼리라고 한다면, 이를 위한 중간 단계 혹은 보조 역할을 하는 SELECT문을 서브 쿼리라 한다. 조인 절에서 소개했던 SQL문 중 괄호 안에 들어있는 SELECT문이 바로 서브 쿼리에 속한다. 하나의 SQL문을 기준으로 메인 쿼리를 제외한 나머지 모든 SELECT문을 서브 쿼리로 보면 되며, 따라서 서브 쿼리는 여러 개를 사용할 수 있다. 서브 쿼리는 다양한 형태로 사용된다. 즉 SELECT (스칼라), FROM(인라인뷰), WHERE 절 (서브쿼리)모두에서 사용할 수 있을 뿐만 아니라, INSERT, UPDATE, M..
오라클 Oracle 집합 연산자 SELECT문을 실행하면 해당 조건에 맞는 데이터가 조회된다. 집합(Set) 연산자는 이러한 데이터 집합을 대상으로 연산을 수행하는 연산자를 말하며, 여러 개의 SELECT문을 연결해 또 다른 하나의 쿼리를 만드는 역할을 한다 그 종류로는 UNION, UNION ALL, INTERSECT, MINUS가 있다. UNION UNON은 합집합을 의미한다. 예를 들어, 두 개의 데이터 집합이 있으면 각 집합 원소(SELECT 결과)를 모두 포함한 결과가 반환된다. CREATE TABLE exp_goods_asia ( country VARCHAR2(10), seq NUMBER, goods VARCHAR2(80)); INSERT INTO exp_goods_asia VALUES ('한..
오라클 Oracle ROLLUP절 CUBE절 ROLLUP과 CUBE는 GROUP BY절에서 사용되어 그룹별 소계를 추가로 보여 주는 역할을 한다. ROLLUP(expr1, expr2, …) ROLLUP은 expr로 명시한 표현식을 기준으로 집계한 결과, 즉 추가적인 집계 정보를 보여 준다. ROLLUP 절에 명시할 수 있는 표현식에는 그룹핑 대상, 즉 SELECT 리스트에서 집계 함수를 제외한 컬럼 등의 표현식이 올 수 있으며, 명시한 표현식 수와 순서(오른쪽에서 왼쪽 순으로)에 따라 레벨별로 집계한 결과가 반환된다. 표현식 개수가 n개이면 n+1 레벨까지, 하위 레벨에서 상위 레벨 순으로 데이터가 집계된다. SELECT period, gubun, SUM(loan_jan_amt) totl_jan FROM..

오라클 Oracle GROUP BY절과 HAVING절 SELECT column(s) FROM table(s) | view(s) WHERE expression GROUP BY column(s) HAVING expression ORDER BY column(s); 부서별 (group by) 급여 (salary) 합(sum) 조회 SELECT e.DEPARTMENT_ID, e.JOB_ID,SUM(e.SALARY) FROM EMPLOYEES e -- where x group BY e.DEPARTMENT_ID, e.JOB_ID ORDER BY e.DEPARTMENT_ID ASC 부서별 급여합 => 부서번호, 합, 부서명(departments table) SELECT a.DEPARTMENT_ID, a.dsum, b...
오라클 Oracle 기본 집계 함수 COUNT (expr) COUNT는 쿼리 결과 건수, 즉 로우 수를 반환하는 집계 함수다. 테이블 전체 로우는 물론 WHERE 조건으로 걸러진 로우 수를 반환한다. COUNT의 기본 사용법은 컬럼명을 지정해주는 방식 사용에 따라서 DISTINCT 나 * 써주면 된다. (단. 컬럼명을 지정해주지 않고 * 이것을 썼을경우는 null값 역시 개수에 포함되어 반환.) NULL은 카운트에서 제외. SELECT COUNT(*) FROM employees; SELECT COUNT(employee_id) FROM employees; 전체사원수 조회 SELECT COUNT(e.MANAGER_ID) -- NULL 카운트에서 제외 , COUNT(e.EMPLOYEE_ID) , COUNT(*..
오라클 Oracle SQL 함수 NULL 함수 오라클에서는 NULL 값을 다른 값으로 대치시킬 때 쓰인다. 즉 조회 시 컬럼의 값이 NULL값을 체크하여 다른 값으로 치환하는 함수에는 NVL, NVL2, NULLIF, COALESCE 함수 등이 있다. NVL(expr1, expr2) NVL 함수는 expr1이 NULL일 때 =>> expr2를 반환한다. SELECT NVL(manager_id, employee_id) FROM employees WHERE manager_id IS NULL; NVL2(expr1,expr2, expr3) NVL2는 NVL을 확장한 함수로 expr1이 NULL이 아니면 expr2를 반환하는 함수 expr1이 NULL이면 expr3를 반환하는 함수 즉, expr1 : NULL을 ..
오라클 Oracle SQL 함수 변환 함수 변환 함수란 서로 다른 유형의 데이터 타입으로 변환해 결과를 반환하는 함수를 말한다. 3장에서 언급했듯이 오라클이 자동으로 형변환을 해주는 것을 묵시적 형변환이라 하는데 이 절에서 학습하는 변환 함수를 통해 형변환을 직접 처리하는 것을 명시적 형변환이라고 한다. TO_CHAR (숫자 혹은 날짜, format) 숫자나 날짜를 문자로 변환해 주는 함수가 바로 TO_CHAR 매개변수로는 숫자나 날짜가 올 수 있고 반환 결과를 특정 형식에 맞게 출력할 수 있다. SELECT TO_CHAR(123456789, '999,999,999') FROM DUAL; SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') FROM DUAL; YYYY: 년, MM: 월, ..
오라클 Oracle SQL 함수 날짜 함수 날짜 함수는 DATE 함수나 TIMESTAMP 함수와 같은 날짜형을 대상으로 연산을 수행해 결과를 반환하는 함수다. 대부분 반환 결과는 날짜형이나 함수에 따라 숫자를 반환할 때도 있다. SYSDATE, SYSTIMESTAMP SYSDATE와 SYSTIMESTAMP는 현재일자와 시간을 각각 DATE, TIMESTAMP 형으로 반환한다. SELECT SYSDATE, SYSTIMESTAMP FROM DUAL; ADD_MONTHS(date,integer) ADD_MONTHS 함수는 매개변수로 들어온 날짜에 interger 만큼의 월을 더한 날짜를 반환한다. SELECT ADD_MONTHS(SYSDATE, 1), ADD_MONTHS(SYSDATE, -1) FROM DUA..
오라클 Oracle SQL 함수 문자 함수 INITCAP(char) INITCAP(문자열 또는 컬럼명) INITCAP 함수는 매개변수로 들어오는 char의 첫 문자는 대문자로 나머지는 소문자로 반환하는 함수다. 첫 문자를 인식하는 기준은 공백과 알파벳(숫자 포함)을 제외한 문자다. 공백이나 알파벳이 아닌 문자를 만난 후 다음 첫 알파벳 문자를 대문자로 변환한다. =>> 즉 영어에서 첫 글자만 대문자로 출력하고 나머지는 전부 소문자로 출력 LOWER(char) LOWER(문자열 또는 컬럼명) LOWER 함수는 매개변수로 들어오는 문자를 모두 소문자로 변환해 반환한다. UPPER(char) UPPER(문자열 또는 컬럼명) UPPDER 함수는 매개변수로 들어오는 문자를 모두 대문자로 변환해 반환한다. CONC..
오라클 Oracle SQL 함수 숫자 함수 ABS(n) 숫자 함수란 수식 연산을 하는 함수로 연산 대상 즉, 매개변수나 반환 값이 대부분 숫자 형태다. SELECT ABS(10), ABS(-10), ABS(-10.123) FROM DUAL; CEIL(n) CEIL함수는 매개변수 n과 같거나 가장 큰 정수를 반환한다. SELECT CEIL(10.123) CEIL(10.541), CEIL(11.001) FROM DUAL; FLOOR(n) CEIL함수와 반대로 매개변수 n보다 작거나 가장 큰 정수를 반환한다. ROUND(n,i) ROUND 함수는 매개변수 n을 소수점 기준(i+1)번째에서 반올림한 결과를 반환한다. i는 생략할 수 있고 디폴트 값은 0, 즉 소수점 첫 번째 자리에서 반올림이 일어나 정수 부분의..