Microsoft Access 데이터베이스 엔진 SQL은 일반적으로 ANSI -89 수준 1 규격입니다. 그러나 특정 ANSI SQL 기능은 Microsoft Access SQL에서 구현되지 않습니다. 또한 Microsoft Access SQL에는 ANSI SQL에서 지원되지 않는 예약된 단어와 기능이 포함되어 있습니다.
주요 차이점
-
Microsoft Access SQL 및 ANSI SQL에는 각각 서로 다른 예약어와 데이터 형식이 있습니다. Microsoft OLE DB 공급자를 사용하여 예약된 추가 단어가 있습니다.
-
Between...에 다른 규칙이 적용됩니다 . 및 구문은 다음과 같은 구문을 포함하는 구문입니다.
expr1 [NOT] value1과 value2 사이
Microsoft Access SQL에서 value1 은 value2보다 클 수 있습니다. ANSI SQL에서 value1은 value2 와 같거나 작아야 합니다 .
-
Microsoft Access SQL은 ANSI SQL 와일드카드 문자와 Like 연산자와 함께 사용할 Microsoft Access 관련 와일드카드 문자 모두 지원합니다. ANSI 및 Microsoft Access 와일드카드 문자의 사용은 상호 배타적입니다. 한 세트 또는 다른 집합을 사용해야 하며 혼합할 수 없습니다. ANSI SQL 와일드카드는 Microsoft Access 데이터베이스 엔진 및 Microsoft Access OLE DB 공급자를 사용하는 경우에만 사용할 수 있습니다. Access 또는 DAO를 통해 ANSI SQL 와일드카드를 사용하려고 하면 리터럴로 해석됩니다.
일치하는 문자
Microsoft Access SQL
ANSI SQL
임의의 한 문자
?
_(밑줄)
0자 이상
*
%
-
Microsoft Access SQL은 일반적으로 덜 제한적입니다. 예를 들어 식에서 그룹화 및 순서 지정을 허용합니다.
-
Microsoft Access SQL은 보다 강력한 식을 지원합니다.
Microsoft Access SQL의 향상된 기능
Microsoft Access SQL은 다음과 같은 향상된 기능을 제공합니다.
크로스탭 쿼리를 지원하는 TRANSFORM 문입니다.
-
StDev 및 VarP와 같은 추가 SQL 집계 함수입니다.
매개 변수 쿼리를 정의하기 위한 PARAMETERS 선언입니다.
Microsoft Access SQL에서 지원되지 않는 ANSI SQL 기능
Microsoft Access SQL은 다음 ANSI SQL 기능을 지원하지 않습니다.
-
DISTINCT 집계 함수 참조입니다. 예를 들어 Microsoft Access SQL은 SUM(DISTINCT 열 이름)을 허용하지 않습니다.
-
쿼리에서 반환되는 행 수를 제한하는 데 사용되는 LIMIT TO nn ROWS 절입니다. WHERE 절 사용하여 쿼리 범위를 제한할 수 있습니다.