https://academy.elice.io/courses/74413/lectures/613436/lecturepages/6830305

Q. 트랜잭션에 대한 설명으로 옳지 않은것을 고르시오.

  1. 최종의 결과를 내기까지 위한 하나의 작업단위

  2. 테이블의 생성은 COMMIT이 되지 않아도 DB에 반영이 이뤄진다.

  3. SAVEPOINT가 여러개 동일한 이름으로 정의되어 있을때, 롤백시 가장 마지막의 SAVEPOINT로 돌아간다.
    4. 하나의 쿼리문이 하나의 트랜잭션을 구성한다.

  4. 여러개의 쿼리문이 하나의 트랜잭션을 구성

해설: 트랜잭션은 트랜잭션 세션 범위 안에 있는 모든 쿼리문이 실행되는 것을 보장함.

OVER 구문

정답: 1번

  • over 구문은 누적 칼럼을 새로 만들때 사용할 수 있다.
  • 해당 예시에서 sal 칼럼을 기준으로 오름차순하고 있다.
  • 어렵다!!!
SELECT 번호
  , 날짜
  , 수량
  , SUM(수량) OVER(ORDER BY 날짜) AS 재고
FROM 창고

여기서 OVER은 위에서 말했듯이 함수 SUM 에 대해 특정 행 집합을 적용하겠다는 의미. group by랑은 다름


Q. 다음 실행결과로 알맞은것은?

  • COUNT(*) 집계함수는 NULL 값을 포함하지 않음
    row 1, row2 탈락

해설: connect by 계층형 쿼리:
데이터를 선택하여 계층적인 순서 그대로 리턴시 사용.
prior은 상위행을 참조.
col1 이 4인 행은 제외, col1이 1인것부터 시작

row 1 3 7 4 8
but, where 조건절 !=4 4 제외로 총 4개.

http://dbcafe.co.kr/wiki/index.php/SQL_CONNECT_BY

17일차 >
뒷부분 기출문제는 너무 어렵다 ㅠㅠ

profile
데이터분석

0개의 댓글