다음을 통해 공유


비교 의미 체계(Entity SQL)

다음 Entity SQL 연산자를 수행하면 형식 인스턴스 비교가 수반됩니다.

명시적 비교

같음 연산:

  • =

  • !=

정렬 연산:

  • <

  • <=

  • >

  • >=

Null 허용 여부 연산:

  • IS NULL

  • IS NOT NULL

명시적 구분

같음 구분:

  • DISTINCT

  • GROUP BY

정렬 구분:

  • ORDER BY

암시적 구분

Set 작업 및 조건자(같음):

  • UNION

  • INTERSECT

  • EXCEPT

  • SET

  • OVERLAPS

항목 조건자(같음):

  • IN

지원되는 조합

다음 표에서는 각 종류의 형식에 대해 지원되는 비교 연산자의 조합을 모두 보여 줍니다.

형식

=

!=

GROUP BY

DISTINCT

UNION

INTERSECT

EXCEPT

SET

OVERLAPS

IN

< <=

> >=

ORDER BY

IS NULL

IS NOT NULL

엔터티 형식

참조1

모든 속성2

모든 속성2

모든 속성2

Throw3

Throw3

참조1

복합 형식

Throw3

Throw3

Throw3

Throw3

Throw3

Throw3

Throw3

모든 속성4

모든 속성4

모든 속성4

Throw3

Throw3

모든 속성4

Throw3

기본 형식

공급자 고유

공급자 고유

공급자 고유

공급자 고유

공급자 고유

공급자 고유

공급자 고유

Multiset

Throw3

Throw3

Throw3

Throw3

Throw3

Throw3

Throw3

Ref

5

5

5

5

Throw

Throw

5

연결

형식

Throw3

Throw

Throw

Throw

Throw3

Throw3

Throw3

1해당 엔터티 형식 인스턴스의 참조는 다음 예제와 같이 암시적으로 비교됩니다.

SELECT p1, p2 
FROM AdventureWorksEntities.Product AS p1 
     JOIN AdventureWorksEntities.Product AS p2 
WHERE p1 != p2 OR p1 IS NULL

엔터티 인스턴스는 명시적 참조와 비교할 수 없습니다. 비교를 시도하면 예외가 throw됩니다. 예를 들어, 다음 쿼리는 예외를 throw합니다.

SELECT p1, p2 
FROM AdventureWorksEntities.Product AS p1 
     JOIN AdventureWorksEntities.Product AS p2 
WHERE p1 != REF(p2)

2복합 형식의 속성이 저장소로 전송되기 전에 결합되므로 비교할 수 있는 상태가 됩니다(해당 속성이 모두 비교 가능한 경우). 아래 4를 참조하십시오.

3Entity Framework 런타임에서는 지원되지 않는 경우를 감지하여 공급자/저장소의 개입 없이도 의미 있는 예외를 throw합니다.

4모든 속성을 비교합니다. 텍스트, ntext, 이미지와 같이 비교할 수 없는 형식의 속성이 있는 경우 서버 예외가 throw될 수 있습니다.

5참조의 모든 개별 요소가 비교되며, 여기에는 엔터티 형식의 엔터티 집합 이름과 모든 키 속성이 포함됩니다.

참고 항목

개념

Entity SQL 개요