오라클 문제 풀이
1. 서울 사람중에서 김씨와 이씨만 출력(이름)SELECT name FROM insa WHERE SUBSTR(name,1,1) IN ('김', '이') AND city='서울'; 2. 모든 테이블의 목록 출력SELECT * FROM tab; 3. INSA 테이블의 스키마(구조) 출력DESC insa; 4. 총급여 오름차순으로 출력하되 총급여가 같으면 기본급 오름차순으로 출력(이름,기본급,수당,총급여(기본급+수당))SELECT name, basicpay, sudang, sudang+basicpay pay FROM insa ORDER BY pay, basicpay; 5. 남자중에서 name, city, buseo, jikwi 필드만 출력하되 필드명은 한글로 출력SELECT name 이름, city 출신도, ..
더보기
오라클 SUM OVER() : 조건에 만족하는 행의 합 구하기
-- SUM OVER() -- 조건에 만족하는 행의 합 구하기 SELECT buseo, SUM(basicpay) FROM insa GROUP BY buseo;=> 집계함수 SUM()만 사용해서 각 부서별 기본급 합을 구함 SELECT name, buseo, basicpay, SUM(basicpay) OVER(ORDER BY buseo) FROM insa;=> 각 부서에 맞는 각부서의 총합을 각 행마다 출력 함 SELECT name, buseo,jikwi,basicpay, SUM(basicpay) OVER(ORDER By buseo, jikwi), SUM(basicpay) OVER(PARTITION BY buseo ORDER BY jikwi) FROM insa; --AVG OVER() --SUM OVER(..
더보기
오라클 분석 함수( RANK OVER() / ROW_NUMBER() OVER() )
-- 분석 함수 -- RANK OVER() -- ROW_NUMBER() OVER() ** 중요 제일 많은 씀 ** -- 순위를 구함. -- RANK() OVER()는 동일 순위인 경우 1,1,3, 형식으로 출력하지만 -- ROW_NUMBER() OVER()는 동일 순위인 경우 1,2,3, 형식으로 출력 -- DENSE_RANK() OVER()는 동일 순위인 경우 1,1,2 형식으로 출력 -- ROW_NUMBER() OVER()는 매우매우매우 중요한 함수이므로 반드시 알아 둘것 !!!!!!!!!!!!!!!!!!!!!!! --기본급 내림차순으로 순위를 구하기 SELECT name, basicpay, RANK() OVER(ORDER BY basicpay DESC) 순위 FROM insa; -- 비교데이타가 똑..
더보기
오라클 ROLLUP,CUBE,GROUPINGSET 그룹화 함수
--ROLLUP : 그룹화하고 그룹에 대한 부분합 -- CUBE : ROLLUP 결과에 GROUP BY 절의 조건에 따라 모든 가능한 그룹핑 조합에 따른 결과 출력 SELECT buseo,jikwi, SUM(basicpay) FROM insa GROUP BY buseo,jikwi; SELECT buseo,jikwi, SUM(basicpay) FROM insa GROUP BY ROLLUP (buseo,jikwi); -- 직위의 null 값이 들어간부분이 합이다. SELECT buseo,jikwi, SUM(basicpay) FROM insa GROUP BY CUBE(buseo,jikwi); --null null 총합 / 부서 null 직위의 합/ 직위 null 부서의 합/ -- GROUPING SET : G..
더보기