XQuery 언어 참조(SQL Server)

적용 대상:SQL Server

Transact-SQL은 xml 데이터 형식을 쿼리하는 데 사용되는 XQuery 언어의 하위 집합을 지원합니다. 이 XQuery 구현은 XQuery의 2004년 7월 작업 초안과 일치합니다. 이 언어는 W3C(World Wide Web 컨소시엄)에서 개발 중이며, 모든 주요 데이터베이스 공급업체와 Microsoft가 참여하고 있습니다. W3C 사양은 W3C 권장 사항이 되기 전에 향후 수정될 수 있으므로 이 구현은 최종 권장 사항과 다를 수 있습니다. 이 항목에서는 SQL Server에서 지원되는 XQuery 하위 집합의 의미 체계와 구문을 간략하게 설명합니다.

자세한 내용은 W3C XQuery 1.0 언어 사양을 참조 하세요.

XQuery는 구조적 또는 반구조적 XML 데이터를 쿼리할 수 있는 언어입니다. 데이터베이스 엔진에 제공되는 xml 데이터 형식 지원을 사용하여 문서를 데이터베이스에 저장한 다음 XQuery를 사용하여 쿼리할 수 있습니다.

XQuery는 기존의 XPath 쿼리 언어를 기반으로 더 나은 반복 성능 및 정렬 결과를 위한 지원이 추가되었으며 필요한 XML을 생성할 수 있는 기능이 지원됩니다. XQuery는 XQuery 데이터 모델에서 작동합니다. XML 문서의 추상화이며 입력하거나 형식화하지 않을 수 있는 XQuery 결과입니다. 유형 정보는 W3C XML 스키마 언어에서 제공되는 유형을 기반으로 합니다. 입력 정보를 사용할 수 없는 경우 XQuery는 데이터를 형식화되지 않은 데이터로 처리합니다. 이는 XPath 버전 1.0에서 XML을 처리하는 방법과 유사합니다.

xml 형식의 변수 또는 열에 저장된 XML 인스턴스를 쿼리하려면 xml 데이터 형식 메서드사용합니다. 예를 들어 xml 데이터 형식의 query() 메서드를 사용하여 xml 형식의 변수를 선언하고 쿼리할 수 있습니다.

DECLARE @x xml  
SET @x = '<ROOT><a>111</a></ROOT>'  
SELECT @x.query('/ROOT/a')  

다음 예제에서는 AdventureWorks 데이터베이스의 ProductModel 테이블에서 xml 형식의 Instructions 열에 대해 쿼리를 지정합니다.

SELECT Instructions.query('declare namespace AWMI="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions";           
    /AWMI:root/AWMI:Location[@LocationID=10]  
') as Result   
FROM  Production.ProductModel  
WHERE ProductModelID=7  

XQuery에는 네임스페이스 선언 declare namespace``AWMI=...과 쿼리 식 /AWMI:root/AWMI:Location[@LocationID=10]이 포함됩니다.

XQuery는 xml 형식의 Instructions 열에 대해 지정됩니다. xml 데이터 형식의 query() 메서드는 XQuery를 지정하는 데 사용됩니다.

다음 표에서는 데이터베이스 엔진에서 XQuery의 구현을 이해하는 데 도움이 될 수 있는 관련 항목을 나열합니다.

토픽 설명
XML 데이터(SQL Server) 데이터베이스 엔진의 xml데이터 형식에 대한 지원 및 이 데이터 형식에 대해 사용할 수 있는 메서드에 대해 설명합니다. xml 데이터 형식은 XQuery 식이 실행되는 입력 XQuery 데이터 모델을 형성합니다.
XML 스키마 컬렉션 [SQL Server] 데이터베이스에 저장된 XML 인스턴스를 입력하는 방법을 설명합니다. 즉, XML 스키마 컬렉션을 xml 형식 열과 연결할 수 있습니다. 열에 저장된 모든 항목은 유효성이 검사되고 컬렉션에 있는 스키마에 대해 형식화되며 XQuery에 대한 유형 정보를 제공합니다.

참고 항목

이 섹션의 구성은 W3C(World Wide Web 컨소시엄) XQuery 작업 초안 사양을 기반으로 합니다. 이 섹션에 제공된 다이어그램 중 일부는 해당 사양에서 가져옵니다. 이 섹션에서는 Microsoft XQuery 구현과 W3C 사양을 비교하고 Microsoft XQuery와 W3C의 다른 점을 설명하고 지원되지 않는 W3C 기능에 대해 설명합니다. W3C 사양은 .에서 http://www.w3.org/TR/2004/WD-xquery-20040723사용할 수 있습니다.

이 섹션의 내용

항목 설명
XQuery 기본 사항 XQuery 개념의 기본 개요와 식 평가(정적 및 동적 컨텍스트), 원자화, 유효 부울 값, XQuery 형식 시스템, 시퀀스 형식 일치 및 오류 처리를 제공합니다.
XQuery 식 XQuery 기본 식, 경로 식, 시퀀스 식, 산술 비교 및 논리 식, XQuery 생성, FLWOR 식, 조건부 및 정량화된 식 및 시퀀스 형식에 대한 다양한 식을 설명합니다.
모듈 및 프롤로그(XQuery) XQuery 프롤로그에 대해 설명합니다.
xml 데이터 형식에 대한 XQuery 함수 지원되는 XQuery 함수의 목록을 설명합니다.
xml 데이터 형식에 대한 XQuery 연산자 지원되는 XQuery 연산자에 대해 설명합니다.
xml 데이터 형식에 대한 추가 샘플 XQueries 추가 XQuery 예제를 제공합니다.

참고 항목

XML 데이터(SQL Server)
XML 스키마 컬렉션 [SQL Server]
XML 문서 대량 가져오기 및 내보내기 예(SQL Server)