---
title: "SQL 전문가를 위한 XPath 및 XQuery 튜토리얼 (동영상)"
date: "2021-08-04"
categories: 
  - "sql"
  - "xpath"
  - "xquery"
tags: 
  - "altova-online-training"
  - "databasespy"
  - "sql"
  - "xmlspy"
  - "xpath"
  - "xquery"
description: XPath와 XQuery를 배우는 것은 생각보다 쉽습니다. 특히 SQL에 이미 익숙하다면 더욱 그렇습니다.
---
Status: #blog

Tags:  #altova-online-training #databasespy #sql #xmlspy #xpath #xquery

Categories: [database + sql](/blog/ko/category/database-sql.md) | [xpath+xquery](/blog/ko/category/xpathxquery.md) | [xpath+xquery](/blog/ko/category/xpathxquery.md)
# SQL 전문가를 위한 XPath 및 XQuery 튜토리얼 (동영상)

알토바에 입사하기 전에는 XPath와 XQuery에 대한 경험이 전혀 없었습니다. 처음 맡은 업무는 두 가지 쿼리 언어에 대해 최대한 빨리 학습하고, 이를 요약한 짧은 영상을 제작하는 것이었습니다. 이 영상은 다음과 같은 역할을 할 것입니다 [XPath 튜토리얼 및 XQuery 튜토리얼](https://www.youtube.com/watch?v=NUTvFwXGN-M). MobileTogether에서 앱 개발을 하고 XMLSpy에서 데이터를 쿼리하려면, 두 언어의 특징과 기능을 정확하게 이해하는 것이 중요했습니다. 저는 SQL에 대한 탄탄한 기반을 바탕으로 시작하여, 먼저 SQL을 사용하여 쿼리를 작성하고, 그런 다음 해당 쿼리를 XPath와 XQuery라는 두 가지 쿼리 언어로 어떻게 구현할 수 있는지 학습했습니다.

![](/blog/images/shutterstock_70728256.jpg)

<!--more-->

# XPath 및 XQuery 기초 교육

Altova는 포괄적인 무료 교육 자료를 제공하며, 이 자료는 다음 내용을 다룹니다 [XPath](https://www.altova.com/ko/training/xpath3/) 그리고 [XQuery](https://www.altova.com/ko/training/xquery3/). 이 교육 자료를 읽고, 함께 제공되는 샘플 XML 파일에 기본적인 개념을 적용하는 것만으로도, 이 두 가지 쿼리 언어에 대한 깊이 있는 이해를 얻을 수 있다는 것을 알게 되었습니다 [XMLSpy](https://www.altova.com/ko/xmlspy-xml-editor). 저는 단순히 XPath만 사용하여 방대한 XML 파일을 즉시 검색하는 것이 얼마나 직관적인지 정말 놀라웠습니다. 하지만 XPath 튜토리얼을 위해 더 복잡한 활용 사례를 만들기 시작하면서, XQuery를 사용하여 작성된 쿼리가 거의 항상 훨씬 간결하고 읽기 쉬우며 디버깅하기 쉽다는 것을 깨닫기 시작했습니다.

[Altova의 교육 자료](https://www.altova.com/ko/training-tutorials)를 더 자세히 읽어보니, XQuery의 FLWOR 표현식 구문이 SQL 쿼리와 매우 유사하다는 것을 알게 되었습니다. XPath와 XQuery는 기본적으로 데이터 세트를 더 작은 데이터 테이블로 변환합니다. 이 두 기술 모두 복잡한 조건과 변환 함수를 사용하여 데이터를 필터링할 수 있습니다. 또한, 두 언어 모두 여러 소스에서 데이터를 가져와 결합하여, 여러 정규화된 소스의 데이터를 기반으로 결과 집합을 생성할 수 있습니다. 이러한 언어들 간의 유사성을 고려했을 때, XPath와 XQuery를 배우는 가장 간단한 방법은 SQL에서 시작하여 역으로 학습하는 것이라는 것을 깨달았습니다. 이러한 지식을 바탕으로, 저는 학습을 시작했습니다.

![XQuery 튜토리얼: XQuery와 SQL 비교](/blog/images/xquery-editor.png)

# 전체적인 내용을 정리합니다

[MobileTogether](https://www.altova.com/ko/mobiletogether)에는 "MyCar"라는 샘플 모바일 앱이 포함되어 있으며, 이 앱은 XQuery 튜토리얼을 위한 훌륭한 기반이 됩니다. 이 앱은 사용자에게 자신이 꿈꾸는 자동차에 대해 질문하는 방법을 보여줍니다. 데이터는 데이터베이스 내에 정의된 일련의 매개변수를 통해 제공되며, 많은 레코드를 포함하고 각 레코드가 여러 데이터 포인트를 가지고 있어 활용하기에 이상적이었습니다. 데이터셋 자체는 MDB 파일 형태로 제공되었으며, 저는 [DatabaseSpy](https://www.altova.com/ko/databasespy)를 사용하여 이 파일을 열고 XML 형식으로 내보냈습니다. 이후 내보낸 파일을 수정하여 몇몇 필드를 변경하여 제가 생성할 쿼리의 가독성을 높였습니다.

두 데이터 세트가 완전히 동일했기 때문에, 저는 동일한 결과를 생성하는 SQL, XQuery, 그리고 XPath 표현식을 만들 수 있었습니다. 덕분에 저는 빠르게 학습하고 XPath와 XQuery를 모두 익힐 수 있었습니다. 몇 시간 만에 복잡한 쿼리를 작성할 수 있게 되었습니다. 결국, 아래의 동영상을 제작하게 되었습니다. 이 동영상은 8가지 일반적인 쿼리 시나리오를 다루며, 세 가지 언어 모두에서 동일한 결과를 얻을 수 있는 쿼리를 보여줍니다.

![SQL 예제를 통해 XQuery 학습하기](/blog/images/sql-export.png)

# XPath 및 XQuery 교육 비디오

다음은 영상에서 사용된 모든 샘플 쿼리와 데이터셋을 포함하는 링크입니다. XMLSpy의 [무료 체험판](https://www.altova.com/ko/xmlspy-xml-editor/download)을 이용하시면, 내장된 XPath/XQuery 편집 창에서 이들을 직접 사용해 볼 수 있습니다. 이 편집 창은 XML과 [JSON](https://www.altova.com/ko/xmlspy-xml-editor/json_editor) 파일 모두에서 작동합니다.

**[샘플 데이터 및 쿼리](https://github.com/altova/XPath-XQuery-SQL-Tutorial)**

![](https://www.youtube.com/watch?v=NUTvFwXGN-M)
