문제
다음 SQL 실행 후 결과는?
[ORDERS] ID: 1,2,3,4,5 / AMT: 100,200,300,400,500
SQLDELETE FROM ORDERS WHERE ROWID IN ( SELECT ROWID FROM ORDERS WHERE ROWNUM <= 2 ); SELECT COUNT(*), MAX(AMT) FROM ORDERS;
① 3, 500
② 4, 500
③ 3, 400
④ 5, 500
정답
1번
해설
서브쿼리에서 ROWNUM<=2로 처음 2건의 ROWID를 선택하여 삭제. ID 1,2 삭제되어 3,4,5 남음. COUNT=3, MAX=500. ②는 삭제 개수 오류, ③은 MAX값 오류, ④는 삭제가 안된 것으로 오해.