Oracle Sql에서 "! ="와 "<>"간에 차이점이 있습니까?


답변:


110

기능에는 전혀 차이가 없습니다.
(다른 모든 DBMS도 마찬가지입니다. 대부분은 두 스타일을 모두 지원합니다.)

다음은 현재 SQL 참조입니다 : https://docs.oracle.com/database/121/SQLRF/conditions002.htm#CJAGAABC

표준 SQL은 "에 대한 하나의 연산자를 정의 하지 같음 "하고는<>


14
! =는 XML 파일에 저장하기가 더 쉽습니다!
Mark McLaren

IS NOT에 / ... / 해당 동의어 <>!=? 세 가지 모두 같은 방식으로 사용할 수 있습니까?
natty

50

실제로이 연산자 에는 네 가지 형식이 있습니다.

<>
!=
^=

그리고 심지어

¬= -- worked on some obscure platforms in the dark ages

동일하지만 축 어적 일치가 필요할 때 다르게 처리됩니다 (저장된 개요 또는 캐시 된 쿼리).


2
NOT(x = y), 어쩌면 !(x = y), 등과 같은 변형 ?
MatBailie

1
흥미 롭군요! 나는에 대해 몰랐습니다 ^=(매뉴얼 링크를 처음 게시했을 때 직접 봤습니다). 그러나 캐시 된 쿼리에 대한 귀하의 요점은 좋은 것입니다.
a_horse_with_no_name

1
@Dems : in Oracle, boolean은 SQL(와는 다른 PL/SQL)의 일류 유형이 아닙니다 . I. e. SELECT 1 = 1 FROM dual다른 시스템 에서는 좋아할 수 없습니다 . 논리 값은 논리적 인 문맥 (유효 사업자의 자신의 세트가 그래서 WHEREHAVING또는 이와 유사한 조항). NOTOracle SQL(AFAIK) 의 유일한 부울 부정 연산자입니다 .
Quassnoi

3
¬= -- worked on some obscure platforms in the dark ages-예, "IBM 메인 프레임"이라고 불 렸습니다. 남자가 남자 였을 때부터 여자는 여자 였고 공룡은 지구를 돌아 다니며 컴퓨터는 수냉식이었습니다. :-)
Bob Jarvis-Monica 복원

1

대학에서 우리는 위의 모든 운영자가 동일한 기능을 가지고 있지만 고용주를 위해 일할 때 '모범 사례'는! =를 사용하는 것이라고 배웠습니다.


14
SQL 표준 (전용)은 <>"같지 않음"연산자로 정의합니다 . 그래서 저는 그것을 "모범 사례"로 사용하는 것을 고려할 것입니다
a_horse_with_no_name

2
흥미 롭군. 내가 배운 다른 모든 것이 SQL 표준인지 여부를 확인해야 할 수도 있습니다. 지적 해 주셔서 감사합니다.

11
아마 내 C 유산 나오는,하지만 난 참을 수 <>와 선호한다 !=. 주로 <>"보다 작거나 큼"이라는 말에서 데이터 유형이 암시 적 순서 (모든 SQL 데이터 유형에 대해 참이기는하지만 반드시 사실은 아님)가 있다고 가정하는 것처럼 보이지만 !="같지 않음"이라고 말합니다. 아주 순수한 의미에서.
Jeffrey Kemp

1
코딩 표준은 종종 고용주에 따라 다릅니다. 고용주에게 코딩 표준이없는 경우 팀에서 공개 표준을 선택하는 것이 좋습니다.
데니스 스키드 모어

-3

이 기사에 따르면! =가 더 빠르게 수행됩니다.

http://www.dba-oracle.com/t_not_equal_operator.htm


18
이 웹 사이트는 인기가 있지만 불행히도 많은 주제에 대한 신뢰할 수있는 소스가 아닙니다. 이 문제는 이전에 여기 에서 논의 되었습니다 . 현상금에도 불구하고 아무도 성능의 눈에 띄는 차이를 보여주는 테스트 케이스를 만들 수 없었습니다. 하지만 내 제안은 여전히 ​​유효합니다.! =가 다른 같지 않은 연산자보다 빠르다는 것을 보여주는 테스트 케이스를 만들 수 있다면 500 포인트 현상금을드립니다.
Jon Heller
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.