具有內部 JSON 集合的 JOIN 表

如果你將子表格式化為 JSON 集合並儲存在行中作為 JSON 列,則可以解壓縮此集合,將其轉換為表並將其與父行連線。你應該使用 CROSS APPLY 而不是標準 JOIN 運算子。在此示例中,產品部件被格式化為資料列中的 JSON 物件集合並儲存在資料列中:

select ProductID, Name, Size, Price, Quantity, PartName, Code
from Product
    CROSS APPLY OPENJSON(Data, '$.Parts') WITH (PartName varchar(20), Code varchar(5))

查詢結果等同於 Product 和 Part 表之間的連線。