Oracle 12c 이상 기준으로 다음 SQL 뒤에 붙였을 때 오류가 … | [SQLD] SQL 개발자 기출유형 모의고사 8회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 8회
Oracle 12c 이상 기준으로 다음 SQL 뒤에 붙였을 때 오류가 발생하는 것은?[재고]
| 품번 | 수량 |
|---|---|
| P1 | 50 |
| P2 | 40 |
| P3 | 40 |
| P4 | 30 |
| P5 | 20 |
SELECT 품번, 수량 FROM 재고
1
ORDER BY 2 DESC OFFSET 1 ROWS FETCH NEXT 2 ROWS ONLY
2
FETCH FIRST 3 ROWS ONLY ORDER BY 수량 DESC
3
FETCH FIRST 60 PERCENT ROWS ONLY
4
ORDER BY 수량 DESC FETCH FIRST 3 ROWS WITH TIES
해설
Oracle 의 행 제한절(OFFSET·FETCH)은 SELECT 문의 맨 끝, 즉 ORDER BY 뒤에만 쓸 수 있어 FETCH 를 먼저 쓰고 ORDER BY 를 뒤에 두면 구문 오류가 난다.
FETCH 뒤에는 정확히 n행만 자르는 ONLY 나 n번째와 같은 값을 함께 내는 WITH TIES 중 하나를 붙인다.
- WITH TIES 는 세 번째 행과 수량이 같은 행까지 포함해 돌려준다.
- ORDER BY 에 열 번호를 쓰고 OFFSET 1 ROWS 로 첫 행을 건너뛰는 것도 정상 구문이다.
- ORDER BY 없이 FETCH 만 써도 실행되며 PERCENT 로 비율만큼 행을 자를 수 있다.
오류나 개정된 내용이 보이면 알려주세요
이어서 풀어보기
[SQLD] SQL 개발자 기출유형 모의고사 8회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요비슷한 기출
- 다음sql보기에서join할경우괄호안에알맞는문장을작성하시오. select....from학생정보ajoin학과정보b(1)a.학과=b.(2) 1.on 2.학과2021년 정보처리기사실기 2회차
- 다음sql결과에알맞는답을작성하시오. [table] selectcount(col2) fromtable wherecol1in(2,3)orcol2in(3,5); 42022년 정보처리기사실기 2회차
- sql문에서괄호안에알맞은답안을작성하시오. ('이름'이란컬럼에'이'로시작하는문자열을'내림차순'하는쿼리결과내용입니다.) select....from...where이름l2021년 정보처리기사실기 2회차