oracle in 서브쿼리 불가order by 솔루션
2666 단어 필기
oracle in order by
오늘 아주 재미있는 문제를 발견했어요.데이터베이스를 조회할 때 내가 쓴 문장에 문제가 없다는 것을 확인하고 동료를 몇 번 찾아봤다.자료를 찾아보니 ORDER BY가 하위 조회를 할 수 없었습니다.구체적인 것은 다음과 같다. 상급자의 요구를 받으면 최근 200개의 데이터에 대응하는 이름을 찾아야 한다. 처음에 수요를 받으면 이 이름은 매우 간단하다. 직접 200개를 정렬한 다음에 IN에서 끝난다.
SELECT ID,NAME FROM TBL_A WHERE ID IN (
SELECT ID FROM (
SELECT ID FROM TBL_B ORDER BY CREATE_DATE DESC
) WHERE ROWNUM<=200 ORDER BY ROWNUM ASC
)
그런데 일이 일어났어요. 위에서 말한 이 문장이 죽어도 알아낼 수가 없어요...문장을 잘못 쓴 줄 알았다.이런 자료를 조사한 결과, ORDER BY는 하위 조회를 할 필요가 없었는데, 후에 바로 고쳤다
SELECT ID,NAME FROM TBL_A WHERE ID IN (
SELECT ID FROM (
SELECT ID FROM (
SELECT ID FROM TBL_B ORDER BY CREATE_DATE DESC
) WHERE ROWNUM<=200 ORDER BY ROWNUM ASC
)
)
이 작법은 좀 구리지만, 드디어 실현되었다. 모두들 코드에 절대 넣지 마라. 나는 이것은oracle 편집기에서 얻은 데이터일 뿐이다.더 좋은 의견이 있으신지 모르겠습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
leetcode 퀴즈 투어(1)이것은 문제 풀이 여행의 첫 번째 편으로 귀속에 대한 총결로 제목은 주로 체인 테이블과 두 갈래 나무를 포함한다.이전에 귀환을 고려할 때 귀환의 한 걸음 한 걸음 조작을 고려했기 때문에 세부 사항을 모두 똑똑히 알아...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.