old posting

    [SQL] Join

    Join 하나의 테이블뿐만 아니라, 여러개의 테이블에서 정보를 가져와서 결과를 만드는 기법 관계형 데이터베이트(RDBMS)의 가장 핵심 기술 중 하나 ANSI Join 방식이 있고 DBMS 마다 특화된 방식이 있다. ex) Oracle Join 카티션 곱(Cartesian Product) WHERE 절에서 조인 조건을 주지 않은 것을 말하며 두 테이블의 데이터를 기준으로 가능한 모든 조합의 데이터가 조회된다. 복수개의 테이블에서 같은 이름의 필드가 있는 경우 반드시 서로 다른 테이블 별명(Alias)을 사용하여 접근해야한다. Join의 종류 INNER Join LEFT Join (LEFT OUTER JOIN) RIGHT Join (RIGHT OUTER JOIN) FULL OUTER JOIN CROSS J..

    [SQL] 그룹함수(Aggregate Function)

    그룹함수(Aggregate Function) 여러개의 레코드의 필드 값을 계산하여 값을 내는 함수, 다양한 그룹함수들이 있다. GROUP BY : 그룹을 묶는 단위 SELECT 절에 사용된 그룹함수 이외의 컬럼이나 표현식은 반드시 GROUP BY 절에 사용되야 한다. GROUP BY 절에 사용된 컬럼이 꼭 SELECT 절에 사용되지 않아도 된다. GROUP BY 절은 반드시 컬럼명이 사용되어야 한다. 별명(Alias)은 사용이 불가능하다. HAVING : 그룹함수 결과에 대한 조건절 그룹함수 부분은 WHERE 절에서 사용이 불가능하다. SELECT 쿼리문 순서 SELECT [컬럼명 또는 표현식] FROM [테이블 명, 뷰 명] WHERE [조건절] GROUP BY [그룹할 컬럼] HAVING [그룹함수 ..

    [SQL] 숫자(number) 단일행 함수와 날짜(date) 단일행 함수

    숫자(number) 단일행 함수 ABS() : n의 절대값 ABS(n) CEILING() : n보다 큰 수중 가장 작은 정수 CEILING(n) FLOOR() : n보다 작은 수중 가장 큰 정수 FLOOR(n) TRUNC() : 주어진 숫자를 버림 TRUNC(12.345, 2) → rs : 12.34 주로 소수점 절사 및 날짜(DATE)의 시간을 없앨 때 사용한다. ROUND() : n1을 n2의 십진 자리수로 반올림 ROUND(12.345, 2) → 12.35 MOD() : n2로 n1을 나눈 나머지 값 MOD(12, 10) → 2 SQL에서는 %(나머지 연산자)가 없다. POWER() : n1을 n2 제곱한 값 POWER(n1, n2) POWER(2, 1/2) : 루트2 POWER(27, 1/3) :..

    [SQL] NULL 관련 단일행 함수와 형변환 단일행 함수

    Null 값과의 산술연산의 결과는 항상 Null이다. NVL NVL('컬럼', 치환할 값); 컬럼의 값이 NULL인지 체크하여 NULL이면 치환한다. NVL2 NVL2('컬럼', 값1, 값2); 컬럼 값이 NULL이 아니면 값1 을, NULL이면 값2 로 치환한다. 오라클 데이터 타입 CHAR(n) : 고정길이의 문자, 최대값은 2000byte VARCHAR2(n) : 가변길이의 문자, 최대값은 4000byte NUMBER(p,s) : 숫자값, p는 전체 자리수 1 ~ 38, s는 소수점이하 자리수 -84 ~ 127 DATE : 총 7byte, BC4712년 1월 1일 ~ AD9999년 12월 31일 사이 날짜 저장 LONG : 가변길이 Text, 최대 2G CLOB : 가변길이 Text, 최대 4G B..