출처 : http://blog.naver.com/cjj721004?Redirect=Log&logNo=120116296911
1. SYS_CONNECT_BY_PATH(column,char)은 데이터의 셀프조인에 의한 트리구조 데이테에 대해서 한row에서 표현할때 사용하는 것입니다.
간단히 말씀드리면, FIle시스템에서 파일이 위치하는 경로에 대해서 표현하는것과 같다고 생각하시면 됩니다.
2. "START WITH rnum = 1" 은 경로중에서 root에 해당하는 부분을 어디서 부터 할것인지 설정한는 조건을 말합니다.
3. "CONNECT BY PRIOR rnum = rnum - 1 AND PRIOR a = a"은 계층을 만들기 위한 조인부분으로 경로의 다음 연결 경로를 지정하는 역할을 합니다.
즉, A -> B -> C 로 데이터의 연결을 만들기 위함입니다.
4. 이함수는 Oracle에서 사용하는 것으로, 특별한 환경 설정은 없으며, 단지 Data에 대해서 계층구조를 가지고 있다면 언제든지 사용을 할수 있습니다.
가장 대표적인 예제로는 회의의 조직도 Data가 되겠네요.. ^^
출처 : Tong - redyoon님의 DB통
간단한 샘플
SELECT A
, SUBSTR(MAX(SYS_CONNECT_BY_PATH(B, ',')), 2) AS B
FROM (SELECT A
, B
, ROW_NUMBER() OVER(PARTITION BY A ORDER BY A) AS RNUM
FROM (SELECT 1 A , '엄마' B FROM DUAL
UNION ALL
SELECT 1 A , '아빠' B FROM DUAL
UNION ALL
SELECT 1 A , '이모' B FROM DUAL
UNION ALL
SELECT 2 A , '삼촌' B FROM DUAL
UNION ALL
SELECT 2 A , '오빠' B FROM DUAL)
)
START WITH RNUM = 1
CONNECT BY PRIOR RNUM = RNUM - 1 AND PRIOR A = A
GROUP BY A
다음의 실행하면 결과값은 다음과 같이 나올 것이다.
A | B
1 | 엄마,아빠,이모
2 | 삼촌,오빠
---------------
어떻게 만들어지는지 분석모드
SELECT 1 A , '엄마' B FROM DUAL
UNION ALL
SELECT 1 A , '아빠' B FROM DUAL
UNION ALL
SELECT 1 A , '이모' B FROM DUAL
UNION ALL
SELECT 2 A , '삼촌' B FROM DUAL
UNION ALL
SELECT 2 A , '오빠' B FROM DUAL
A B
1 엄마
1 아빠
1 이모
2 삼촌
2 오빠
일단 기본 데이터를 정의한다.
SELECT A,B,
ROW_NUMBER() OVER( ORDER BY A) AS RNUM
FROM (SELECT 1 A , '엄마' B FROM DUAL
UNION ALL
SELECT 1 A , '아빠' B FROM DUAL
UNION ALL
SELECT 1 A , '이모' B FROM DUAL
UNION ALL
SELECT 2 A , '삼촌' B FROM DUAL
UNION ALL
SELECT 2 A , '오빠' B FROM DUAL)
A B RNUM
1 엄마 1
1 아빠 2
1 이모 3
2 삼촌 4
2 오빠 5
기본데이터를 ROW_NUMBER() OVER( ORDER BY A) 를 사용해서 A 컬럼을 기준으로 정렬을해서 RNUM 을 정의해준다.
SELECT A
,SUBSTR(SYS_CONNECT_BY_PATH(B, ','),2) AS B
FROM (SELECT A
, B
, ROW_NUMBER() OVER(PARTITION BY A ORDER BY A) AS RNUM
FROM (SELECT 1 A , '엄마' B FROM DUAL
UNION ALL
SELECT 1 A , '아빠' B FROM DUAL
UNION ALL
SELECT 1 A , '이모' B FROM DUAL
UNION ALL
SELECT 2 A , '삼촌' B FROM DUAL
UNION ALL
SELECT 2 A , '오빠' B FROM DUAL)
)
START WITH RNUM = 1
CONNECT BY PRIOR RNUM = RNUM - 1 AND PRIOR A = A
A B
1 엄마
1 엄마,아빠
1 엄마,아빠,이모
2 삼촌
2 삼촌,오빠
위에 나온데이터를 기준으로 SYS_CONNECT_BY_PATH 를 써줬다.
START WITH RNUM = 1 시작 기준점을 RNUM 1을 시작점으로 잡고
CONNECT BY PRIOR RNUM = RNUM - 1 RNUM과 하나작은 RNUM과 결합하면서,
AND PRIOR A = A A값을 기준으로 같은거 끼리 묶어줬다.
CONNECT BY PRIOR RNUM = RNUM - 1 를 이해할때는 하나의 BOM을 생각하면 될거다.
시작은 RNUM = 1 로 시작하고
RNUM 이 2이면 RNUM 1과 2를 합치면서 A와 A가 같은걸 결합
RNUM 이 3이면 RNUM 3과 2를 합치고 A와 A가 같은걸 결합
SELECT A
, SUBSTR(MAX(SYS_CONNECT_BY_PATH(B, ',')), 2) AS B
FROM (SELECT A
, B
, ROW_NUMBER() OVER(PARTITION BY A ORDER BY A) AS RNUM
FROM (SELECT 1 A , '엄마' B FROM DUAL
UNION ALL
SELECT 1 A , '아빠' B FROM DUAL
UNION ALL
SELECT 1 A , '이모' B FROM DUAL
UNION ALL
SELECT 2 A , '삼촌' B FROM DUAL
UNION ALL
SELECT 2 A , '오빠' B FROM DUAL)
)
START WITH RNUM = 1
CONNECT BY PRIOR RNUM = RNUM - 1 AND PRIOR A = A
GROUP BY A
A B
1 엄마,아빠,이모
2 삼촌,오빠
그룹함수를 써서 A로 그룹지어서 가장큰 값을 뽑아오면 끝
[출처] SYS_CONNECT_BY_PATH , CONNECT BY|작성자 아기대장
우연히 은행관련 정보를 얻기 위해 웹서핑을 하다가 좋은 정보가 있어 여기에 올립니다.
아시는 분들은 다 아시겠지만 그래도 조금이나바 도움이 되었음 합니다...^^
저금리 상태가 계속되면서 일반인들은 자잘한 은행 수수료에도 민감해질 수밖에 없다. 몇푼 안돼 보이지만 금융거래가 잦은 사람은 2,3만원을 허공에 날려 버리기 때문이다. 게다가 은행들이 슬금슬금 수수료를 계속 올리고 있어 수수료가 점차 부담이 될 가능성이 높다.
이런 상황에서는 수수료나 대출 금리 할인, 적금 금리 우대 따위의 서비스를 제공한다는 주거래고객에 관심을 가질만 하다. “기왕이면 다홍치마”라고 어차피 은행 거래를 할 바에야 한 은행과 집중적으로 거래하면서 조금이라도 잇속을 챙기는 편이 낫기 때문이다.
지금까지 주거래고객이 누릴 수 있는 혜택에 대해선 많은 이야기들이 나왔다. 하지만 실제 주거래고객이 될 수 있는 ‘지름길’은 알려진 적이 거의 없다. 대개 주거래고객 우대제도는 우대, 우수, 최우수, VIP 등 4등급으로 나뉜다. 해당 은행 고객관리팀장이 공개하는, 첫 단계 ‘우대’ 수준의 주거래고객이 되는 방법을 공개한다.
하나은행 “신용카드를 많이 써라”
신용카드 사용 실적만 늘리면 하나은행 주거래고객이 되는 것은 비교적 쉽다. 홍필희 고객정보관리팀 팀장은 “다른 은행과 달리 신용카드 실적에 상당히 높은 점수를 준다”며 “두세달 정도만 사용하면 된다”고 말했다.
고객점수가 20점만 넘으면 하나은행의 주거래고객이 될 수 있다. 그런데 3개월 동안 신용카드 누적거래금액이 150만원에 이르면 22.5점이 된다. 신용카드로 한달에 50만원씩 쓰면 3개월만에 주거래고객이 될 수 있는 셈이다. 아울러 가족들의 거래 실적도 주거래고객 평가 때 합산 된다.
하지만 주거래고객이 되려면 다음 세가지 조건 가운데 두가지 이상이 충족돼야 한다. 우선 신용카드 결제 통장이 반드시 하나은행 것이어야 한다. 두번째로 급여이체, 자동이체, 인터넷뱅킹, 텔레뱅킹 중에서 세가지는 거래 실적이 있어야 한다. 마지막으로 적립식 예금이 100만원 이상 있어야 한다.
주거래고객이 되면 텔레뱅킹 및 인터넷뱅킹을 이용한 타행이체 수수료를 500원에서 250원으로 내려준다. 또한 환전할 때도 0.16% 만큼 환전을 더 해준다. 인터넷쇼핑몰인 인터파크(interpark.com)에서 여행상품을 사면 4% 할인 혜택도 준다.
신한은행 “적금을 많이 들어라”
신한은행의 주거래고객이 되는 지름길은 적립식 예금, 즉 적금을 늘리는 것이다. 서춘석 개인고객부 마케팅 팀장은 “점수로 보면 상대적으로 적금 비중이 높고 대출 비중은 낮은 편”이라고 강조했다. 따라서 적금 거래를 집중적으로 공략하는 것이 좋다.
신한은행 주거래고객이 되려면 고객점수가 500점이상 되야 한다. 적금은 100만원당 20점, 입출금식 예금은 100만원당 15점을 받는다. 은행에 부은 적금이 2500만원을 넘으면 바로 주거래고객이 되는 것이다.
신용카드를 사용할 때도 10만원당 5점씩이 주어진다. 점수 비중으로 보면 꽤 높은 편이다. 하지만 신용카드만으로 주거래고객이 되려면 최소 6개월이상 사용하고, 1천만원 넘게 써야 한다. 평범한 직장인들 입장에선 현실성이 떨어지는 것이다. 따라서 신용카드는 모자라는 예·적금 점수를 보충하는 것으로 활용하는 게 낫다.
주거래고객에게는 신용대출과 주택담보대출 때 금리를 0.1%포인트 내려준다. 텔레뱅킹과 인터넷뱅킹 타행이체 수수료 500원도 300원으로 내려간다. 환전이나 해외송금 수수료도 각각 10%와 20%씩 줄여준다.
국민은행 “입출금식 예금을 늘려라”
국민은행 주거래고객이 되려면 수시 입출금식 예금을 늘리는 게 빠르다. 황태원 고객관리팀 팀장은 “한마디로 자유저축 또는 보통저축 통장에 잔고가 많을수록 좋다”고 말했다.
구체적으로 국민은행의 주거래고객이 되기 위해서는 입출금식 예금의 3개월치 평균잔액이 1500만원 이상 있어야 한다. 이 기준에는 양도성예금증서(CD), 신탁 등도 포함돼 있다. 물론 적금에도 점수를 주기는 하지만 조금 더 까다롭다. 예를 들어 3개월 수신금액이 2천만원 이상 돼야 주거래고객으로 분류되는 것이다. 신용카드 실적도 다른 은행에 비해 그리 비중이 높지는 않다.
주거래고객이 되면 텔레뱅킹과 인터넷뱅킹을 이용할 때 600원인 타행이체 수수료를 400원만 내면 된다. 이외에 통장이나 현금·직불카드를 재발급받거나 자기앞수표를 발행할 때 수수료를 면제해준다. 아울러 가계자금을 대출받을 때 금리가 최소한 0.1% 포인트 낮아진다.
우리은행 “대출만 받으면 된다”
대출을 많이 받으면 우리은행에서는 주거래고객으로 대접받는다. 홍현풍 고객관리팀 팀장은 “은행 에 수익을 안겨주는 대출이 많을수록 점수가 높다”고 조언했다.
우리은행에선 신용카드나 적금 등의 실적은 비중이 상당히 낮다. 따라서 오직 대출과 입출금식 예금의 합산금액을 늘리는 것이 가장 빠른 주거래고객 공략법이라고 할 수 있다. 3개월 평균으로 대출과 입출금식 예금 합산금액이 2천만원 이상, 4천만원 미만이면 주거래고객이 된다. 왠만한 주택담보대출만 받아도 바로 주거래고객이 될 수 있는 것이다.
우리은행이 주거래고객에게 제공하는 서비스가 그리 많지는 않다. 통장이나 현금·직불카드 재발행 수수료 등만 면제해준다. 1단계 주거래고객에는 다른 은행처럼 텔레뱅킹이나 인터넷뱅킹 타행이체 수수료 할인 혜택이 없는 것이다. 물론 최우수(VIP)고객이 되면 할인 혜택이 많지만 총수신 평균잔액이 1억원 이상이어야 한다.
외장케이스 : NTY-S35HD :
하드 1T : WD10EALS : 67,720
하드 2T : WD20EARS : 100,000
외장케이스_1T -> 111,000
외장케이스_2T -> 164,000