XQuery 언어 참조(SQL Server)XQuery Language Reference (SQL Server)

적용 대상: 예SQL Server(2012부터) 아니요Azure SQL Database 아니요Azure SQL Data Warehouse 아니요병렬 데이터 웨어하우스 APPLIES TO: yesSQL Server (starting with 2012) noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Transact-SQLTransact-SQL 쿼리에 사용 되는 XQuery 언어의 하위 집합을 지원 합니다 xml 데이터 형식입니다.supports a subset of the XQuery language that is used for querying the xml data type. 이 XQuery 구현은 XQuery에 대한 2004년 7월 초안을 따릅니다.This XQuery implementation is aligned with the July 2004 Working Draft of XQuery. 이 언어는 Microsoft를 비롯한 주요 데이터베이스 공급업체의 참여 하에 W3C(World Wide Web Consortium)에서 개발 중에 있습니다.The language is under development by the World Wide Web Consortium (W3C), with the participation of all major database vendors and also Microsoft. W3C 사양은 W3C 권장 사양이 되기 전에 향후 개정을 거칠 수 있기 때문에 이 구현은 최종 권장 사양과 다를 수 있습니다.Because the W3C specifications may undergo future revisions before becoming a W3C recommendation, this implementation may be different from the final recommendation. 이 항목에서는 SQL ServerSQL Server에서 지원되는 XQuery의 하위 집합에 대한 의미 및 구문에 대해 간단히 설명합니다.This topic outlines the semantics and syntax of the subset of XQuery that is supported in SQL ServerSQL Server.

자세한 내용은 참조는 W3C XQuery 1.0 언어 사양합니다.For more information, see the W3C XQuery 1.0 Language Specification.

XQuery는 구조화되었거나 반구조화된 XML 데이터를 쿼리할 수 있는 언어입니다.XQuery is a language that can query structured or semi-structured XML data. 사용 하 여는 xml 데이터 형식 지원에 제공 된는 데이터베이스 엔진Database Engine, 문서 데이터베이스에 저장 하 고 다음 XQuery를 사용 하 여 쿼리할 수 있습니다.With the xml data type support provided in the 데이터베이스 엔진Database Engine, documents can be stored in a database and then queried by using XQuery.

XQuery는 기존의 XPath 쿼리 언어를 기반으로 더 나은 반복 성능 및 정렬 결과를 위한 지원이 추가되었으며 필요한 XML을 생성할 수 있는 기능이 지원됩니다.XQuery is based on the existing XPath query language, with support added for better iteration, better sorting results, and the ability to construct the necessary XML. XQuery는 XQuery 데이터 모델에서 작동합니다.XQuery operates on the XQuery Data Model. 이러한 모델은 XML 문서에 대한 추상적 표현이며 XQuery 결과는 형식화되거나 형식화되지 않을 수 있습니다.This is an abstraction of XML documents, and the XQuery results that can be typed or untyped. 유형 정보는 W3C XML 스키마 언어에서 제공되는 유형을 기반으로 합니다.The type information is based on the types provided by the W3C XML Schema language. 형식화 정보가 제공되지 않은 경우 XQuery는 데이터를 형식화되지 않은 것으로 처리합니다.If no typing information is available, XQuery handles the data as untyped. 이는 XPath 버전 1.0에서 XML을 처리하는 방법과 비슷합니다.This is similar to how XPath version 1.0 handles XML.

변수 또는 열에 저장 된 XML 인스턴스를 쿼리할 xml 사용 하는 유형, 합니다 xml 데이터 형식 메서드.To query an XML instance stored in a variable or column of xml type, you use the xml Data Type Methods. 예를 들어 변수를 선언할 수 있습니다 xml 입력 하 고 사용 하 여 쿼리 하는 query () 메서드를 xml 데이터 형식입니다.For example, you can declare a variable of xml type and query it by using the query() method of the xml data type.

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

다음 예제에서는 쿼리는 Instructions 열에 대해 지정 됩니다 xml AdventureWorks 데이터베이스의 ProductModel 테이블의 형식입니다.In the following example, the query is specified against the Instructions column of xml type in ProductModel table in the AdventureWorks database.

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]합니다.The XQuery includes the namespace declaration, declare namespace``AWMI=..., and the query expression, /AWMI:root/AWMI:Location[@LocationID=10].

XQuery의 Instructions 열에 대해 지정 되어 있는지 확인 xml 형식입니다.Note that the XQuery is specified against the Instructions column of xml type. 합니다 query () 메서드 xml 데이터 유형 XQuery를 지정 하는 데 사용 합니다.The query() method of the xml data type is used to specify the XQuery.

다음 표에서는 데이터베이스 엔진Database Engine의 XQuery 구현 방식을 이해하는 데 도움이 될 수 있는 관련 항목들이 나열되어 있습니다.The following table lists the related topics that can help in understanding the implementation of XQuery in the 데이터베이스 엔진Database Engine.

항목Topic 설명Description
XML 데이터(SQL Server)XML Data (SQL Server) 에 대 한 지원에 설명 합니다 xml데이터 형식에 데이터베이스 엔진Database Engine 방법과이 데이터 형식에 대해 사용할 수 있습니다.Explains the support for the xmldata type in the 데이터베이스 엔진Database Engine and the methods you can use against this data type. 합니다 xml 데이터 forms 실행 되는 XQuery 식에는 입력된 XQuery 데이터 모델을 입력 합니다.The xml data type forms the input XQuery data model on which the XQuery expressions are executed.
XML 스키마 컬렉션(SQL Server)XML Schema Collections (SQL Server) 데이터베이스에 저장된 XML 인스턴스를 형식화하는 방법을 설명합니다.Describes how the XML instances stored in a database can be typed. 즉, XML 스키마 컬렉션을 사용 하 여 연결할 수 있습니다 합니다 xml 유형 열입니다.This means you can associate an XML schema collection with the xml type column. 열에 저장된 모든 항목은 유효성이 검사되고 컬렉션에 있는 스키마에 대해 형식화되며 XQuery에 대한 유형 정보를 제공합니다.All the instances stored in the column are validated and typed against the schema in the collection and provide the type information for XQuery.

참고

이 섹션의 구성은 W3C(World Wide Web Consortium) XQuery 초안 사양을 기반으로 합니다.The organization of this section is based on the World Wide Web Consortium (W3C) XQuery working draft specification. 이 섹션에서 제공되는 일부 다이어그램은 이 사양에서 가져온 것입니다.Some of the diagrams provided in this section are taken from that specification. 이 섹션에서는 Microsoft XQuery 구현과 W3C 사양을 비교하고 Microsoft XQuery와 W3C의 다른 점을 설명하고 지원되지 않는 W3C 기능에 대해 설명합니다.This section compares the Microsoft XQuery implementation to the W3C specification, describes how Microsoft XQuery is different from the W3C and indicates what W3C features are not supported. W3C 사양은 https://www.w3.org/TR/2004/WD-xquery-20040723 합니다.The W3C specification is available at https://www.w3.org/TR/2004/WD-xquery-20040723.

섹션 내용In This Section

항목Topic 설명Description
XQuery 기초XQuery Basics XQuery 개념에 대한 기본 개여는 물론 식 평가(정적 및 동적 컨텍스트), 원자화, 효율적인 부울 값, XQuery 유형 시스템, 시퀀스 유형 일치 및 오류 처리 등을 제공합니다.Provides a basic overview of XQuery concepts, and also the expression evaluation (static and dynamic context), atomization, effective Boolean value, XQuery type system, sequence type matching, and error handling.
XQuery 식XQuery Expressions XQuery 기본 식, 경로 식, 시퀀스 식, 산술 비교 및 논리 식, XQuery 구성, FLWOR 식, 조건 및 한정 식, 시퀀스 유형의 여러 식에 대해 설명합니다.Describes XQuery primary expressions, path expressions, sequence expressions, arithmetic comparison and logical expressions, XQuery construction, FLWOR expression, conditional and quantified expressions, and various expressions on sequence types.
모듈 및 프롤로그 (XQuery)Modules and Prologs (XQuery) XQuery 프롤로그에 대해 설명합니다.Describes XQuery prolog.
xml 데이터 형식에 대한 XQuery 함수XQuery Functions against the xml Data Type 지원되는 XQuery 함수 목록에 대해 설명합니다.Describes a list of the XQuery functions that are supported.
xml 데이터 형식에 대한 XQuery 연산자XQuery Operators Against the xml Data Type 지원되는 XQuery 연산자에 대해 설명합니다.Describes XQuery operators that are supported.
xml 데이터 형식에 대한 추가 예제 XQueryAdditional Sample XQueries Against the xml Data Type 추가 XQuery 예제를 제공합니다.Provides additional XQuery samples.

관련 항목See Also

XML 데이터(SQL Server) XML Data (SQL Server)
XML 스키마 컬렉션(SQL Server) XML Schema Collections (SQL Server)
XML 문서 대량 가져오기 및 내보내기 예제(SQL Server)Examples of Bulk Import and Export of XML Documents (SQL Server)