1. Outer Join 이란? SQL를 작성하면서 Outer Join이 어쩔 수 없이 발생할 때가 있습니다. 모델링 단계에서 가급적 Outer Join이 발생하지 않도록 하는것이 더 좋겠죠. 일단 Outer Join이 꼭 필요해서 사용할 경우 오라클과 ANSI SQL를 사용할때 많이 햇갈리는 경우가 있습니다. Outer Join이란 두개의 집합(Table)을 Join으로 연결할 경우. 한쪽 집합을 기준으로 다른 집합에는 없어도 보여주고 싶을 경우에 사용합니다. 즉 A, B 집합이 있을 경우 A를 기준으로하고 B에는 A에 있는 집합은 당연히 나오고 없으면 null로 나오도록 하는 것입니다. 이때 기준이 되는 집합을 Outer라 하고 그 반대쪽을 Inner라 합니다. t_emp가 Outer Table이고 ..
오라클 분석함수 중 ratio_to_report가 있습니다. 사이베이스에서는 아직 지원하고 있지 않은 듯(?) 합니다. 모집합을 한번만 읽고 처리하는 방법입니다. 아이디별 사용횟수와 그 구성비율을 구하는 예제 입니다. select id , count(*) , round( convert(float, count(*)) / sum(count(*)) over () , 2) pt from 접속 where reg_dt like '201001%' group by id; ==> sum(count(*)) over () 를 통해 부분 count(*)의 전체 카운트를 구할 수 있습니다.
테이블 설계시 PK값이 너무 많아 alise로 pk를 잡으려고 시퀀스형 컬럼을 추가 했습니다. 오라클에서는 rownum를 사용하면 되는데 Sybase IQ에서는 number(*) 함수를 사용하면 되더군요. 1. [오라클] select rownum, a.* from tmp; 2. [Sybase IQ] select number(*), a.* from tmp; * 분석 함수를 이용해서도 rownum를 구현할 수 있습니다.
오라클 group by절에 사용되는 rollup과 cube는 편리한 함수입니다. 이 함수들이 없다면 데이터 복제를 통해 group by된 값의 sum(총계)등을 통해 구현해야 합니다. 그러지 않으면 어플리케이션에서 해야 겠죠. 편리함에도 불구하고 rollup과 cube가 자꾸 햇갈립니다. 아래 공식으로 한방에 이해해 보죠. 1. rollup ( group by절 오른쪽 컬럼부터 삭제하며 그룹을 생성하라) ex) select a, b, count(*) from tmp group by rollup(a,b) -- 나올수 있는 집합 a, b, count(*) union all a, null, count(*) union all null, null, count(*) ==> 오른쪽 컬럼인 b부터 null로 대체 되면..
참고 URL = http://scidb.tistory.com/69 아래 순서대로 하면 됩니다. 1. 스칼라서브쿼리가 리턴할 자료형 생성 (C의 구조체 같은 느낌..) create or replace type dept_type as object ( dept_cd char(10), dept_nm name varchar2(50) ); 2. 스칼라서브쿼리에서 리턴받을때 Arrary로 받기때문에 Array Object 생성 create or replace type array_dept as varray(1) of dept_type ;
- Total
- Today
- Yesterday
- Life Chair
- 홈 오피스
- 별이 빚나는 밤
- 남설 팔찌
- 루미큐브 종류
- JMW 헤어드라이기기
- 화분벌레
- 코라나 19
- 별잉 빛나는 밤
- 유가바이트디비
- 증권정보포털
- yugabyteDB
- 파나소닉 비데 DL-EH10KWS
- 오미크론
- Sybase IQ
- 고체 향수
- 빈센트 반 고흐
- 르세라핌
- 로니카 BCS
- Pixel Pals
- VARIDESK
- 매직 트랙패드2
- node.js
- weka
- 카카오 에드
- 톡토기
- 브리다 정수기
- 솔리드 쿨론
- GKRS
- 배당급
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |