카테고리 없음

[Oracle] 이런 예약어도 있었군요!

멋쟁이천재사자 2023. 1. 4. 19:30

1. 정보처리기사 시험문제

정보처리기사 기출문제를 보다가 모르는 문제가 나와 살짝 당황했습니다.

①에 들어갈 단어를 맞추어 보세요

 

출처 : https://youtu.be/jeCbqu1XfcA?list=LL&t=215 

 

2. 실무에서 사용해 본 기억이 없습니다.

그동안 실무에서 사용해본 적이 없을 뿐만 아니라 남이 사용하는 것도 본 적이 없습니다.

마침 현재 DW 환경에서 SQL 개발 업무를 하고 있기에 sql 산출물을 모아둔 영역에서 전체검색을 해보았습니다.
Eclipse 를 이용하여 Search 메뉴에서 Case sensitive 는 uncheck, Regular expression 은 check 를 하고 다음 키워드로 검색을 해보았습니다.
[=><] *(ANY|ALL) *\(
조회된 결과가 없어요.
지금 이 곳에서도 사용된 흔적이 전무합니다.

 

3. googling

googling 을 통해 도대체 any 나 all 을 실무에서 사용하기는 할까라는 궁금증과 관련된 링크 하나를 찾았습니다.

any 와 in 에 대한 논의입니다. all 도 any 와 비슷한 관점에서 이해하면 될 것 같습니다.
https://stackoverflow.com/questions/2298550/oracle-any-vs-in
여러 가지 논의가 이어지지만, 핵심은 다음과 같습니다.

  • any 라는 키워드는 SQL 1992 표준임
  • O'Reilly's "Mastering Oracle SQL" 에 따르면 ANY 와 IN절은 같은데, IN 이 더 직관적이라서 거의 항상 IN 이 사용된다.

 

4. 오픈채팅방에 우리 나라 사용자들의 의견을 노크해보았습니다.

오픈채팅방 : https://open.kakao.com/o/gQmmyNm

"all any 연산자가 있습니다만 실무에서는 사용해본 적이 없습니다. 혹시 실무에서 사용해보신 분 있을까요?"

라고 질문을 날리니, 아무도 대꾸가 없고 정적이 흐릅니다.

 

써봤다는 사람들이 손들고 나타나지 않는 것으로 보아 역시 흔한 일이 아닌 것이라고 판단됩니다.

clickhouse 라는 olap dbms 에서 matchAll이나 matchAny 같은 것은 종종 봤었다는 분이 있으나 오라클 사례는 아닙니다.

 

 

5. 사실은 오라클 스스로도 안 쓴다(?)

오라클도 내부적으로는 all any 를 in 이나 and 등 다른 방식으로 변환하여 처리한다고 합니다.

https://oracle-base.com/articles/misc/all-any-some-comparison-conditions-in-sql

 

결론은, all / any 가 SQL 표준 스펙이라 형식적으로 제공을 하는것이지 실무적으로는 거의 활용되고 있지 않은 것으로 보입니다.