외래키 : 다른 테이블에 있는 기본키.
MSSQL에서는 원하는 외래키 속성값을 다른 테이블 기본키 값으로 드래그하면 테이블 간에 서로 관계가 형성된다.
SELECT...FOR XML 구문
형식
SELECT 열 리스트 FROM 테이블 원본 WHERE 검색 조건 FOR XML AUTO|RAW|EXPLICIT
[,XMLDATA][,ELEMENTS][,BINARYBASE64]
Raw모드
예시)
select orderid, productid, unitprice, quantity
from [order details]
where orderid=10248
for xml raw
결과)
<row orderid="10248" productid="11" unitprice="14.0000" quantity="12"/>
<row orderid="10248" productid="42" unitprice="9.8000" quantity="10"/>
<row orderid="10248" productid="72" unitprice="34.8000" quantity="5"/>
※ alias를 통해 해당 태그의 속성 이름을 지정할 수 있다.
※ aggregation 함수 = 집합함수.
조인할 경우 모든 속성을 한 element에 찍어준다.
Auto 모드
조회된 테이블 명을 XML의 엘레먼트 이름으로 사용
테이블 이름에 공백이 있으면 인코딩된 문자로 표현
컬럼 alias로 element명 재지정 가능
조인할 경우 더 큰쪽(예시의 왼쪽)에 대한 속성은 부모 element로 작은쪽(예시의 오른쪽)에 대한 속성은 자식 element들로 구성된 XML을 보여준다.
예시)
Select Invoice.OrderID InvoiceNo, OrderDate, ProductID, UnitPrice, Quantity
FROM Orders Invoice JOIN [Order Details] Item
ON Invoice.OrderID = Item.OrderID
WHERE Invoice.OrderID=10248
FOR XML AUTO
결과)
<Invoice InvoiceNo="10248" OrderDate="1996-07-04T00:00:00">
<Item ProductID="11" UnitPrice="14.0000" Quantity="12"/>
<Item ProductID="42" UnitPrice="9.8000" Quantity="10"/>
<Item ProductID="72" UnitPrice="34.8000" Quantity="5"/>
</Invoice>
Explicit 모드
'컴퓨터 공부 > XML' 카테고리의 다른 글
DOM 실습 소스 (0) | 2009.05.23 |
---|---|
[5월 22일 1교시] SAX (0) | 2009.05.22 |
[5월 20일 2교시] DOM (0) | 2009.05.20 |
[5월 19일 3교시] XSLT 실습 (0) | 2009.05.19 |
[5월 19일 2교시] XSLT elements 2 (0) | 2009.05.19 |