반응형

1. 목적: 주식시장에서 과거 20년 동안 당일 최고가로 장을 마친(종가=최고가) 종목을 조회하는 쿼리다.

        일별종목거래및시세 테이블로부터 시가, 종가, 거래 데이터를 읽고 그 당시 종목명과 상장주식수는 종목이력으로부터 가져오는데, 조인 연산자 '='이 아니라 between이라는 점이 특징적이다.

 

SELECT a.거래일자, a.종목코드, b.종목한글명, b.종목영문명, b.상장주식수

             , a.시가, a.종가, a.체결건수, a.체결수량, a.거래대금

FROM 일별종목거래및시세 a, 종목이력 b

WHERE a.거래일자 BETWEEN TO_CHAR(ADD_MONTHS(SYSDATE, -20*12), 'YYYYMMDD')

AND TO_CHAR(SYSDATE-1, 'YYYYMMDD')

AND a.종가 = a.최고가

AND b.종목코드 =  a.종목코드

AND a.거래일자 BETWEEN b.시작일자 AND b.종료일자

-- Star of Comment

-- 거래 시점이 아니라 현재(최종) 시점의 종목명과 상장주식수를 출력하려면 BETWEEN 조인 대신 상수조건으--- 로 입력해야 한다.

-- AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN b.시작일자 AND b.종료일자

-- End of Comment

;

 

반응형