使用 BY 子句來查詢文件 ID - Amazon Quantum Ledger Database (Amazon QLDB)

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 BY 子句來查詢文件 ID

雖然您可以定義要做為唯一識別碼的欄位 (例如,車輛的 VIN),但文件的真正唯一識別碼就是中id繼資料欄位,如中所述插入文件。因此,您可以使用id欄位來建立資料表之間的關聯性。

文件id欄位只能在已提交的檢視中直接存取,但您也可以使用BY子句在預設使用者檢視中進行投影。如需範例,請參閱下列查詢及其結果。

SELECT r_id, r.VIN, r.LicensePlateNumber, r.State, r.City, r.Owners FROM VehicleRegistration AS r BY r_id WHERE r_id = '3Qv67yjXEwB9SjmvkuG6Cp'
{ r_id: "3Qv67yjXEwB9SjmvkuG6Cp", VIN: "1N4AL11D75C109151", LicensePlateNumber: "LEWISR261LL", State: "WA", City: "Seattle", Owners: { PrimaryOwner: { PersonId: "294jJ3YUoH1IEEm8GSabOs" }, SecondaryOwners: [{ PersonId: "5Ufgdlnj06gF5CWcOIu64s" }] } }

在此查詢中,r_id是使用BY關鍵字在FROM子句中宣告的使用者定義別名。此r_id別名會繫結至查詢結果集中每個文件的中id繼資料欄位。您可以在SELECT子句中使用此別名,也可以在使用者檢視中的查詢WHERE子句中使用此別名。

但是,若要存取其他中繼資料屬性,您必須查詢已提交的檢視表。

在文件 ID 上加入

假設您使用一個表id的文檔作為另一個表的用戶定義字段中的外鍵。您可以使用BY子句為這些欄位上的兩個資料表撰寫內部聯結查詢 (類似加入提交和用戶視圖前一個主題)。

下列範例會使用後者的BY子句,分別連接兩個名DriversLicense為 AND 的表格PersonId和文件id欄位。Person

SELECT * FROM DriversLicense AS d INNER JOIN Person AS p BY pid ON d.PersonId = pid WHERE pid = '1CWScY2qHYI9G88C2SjvtH'

若要瞭解如何變更表格中的文件,請繼續執行更新和刪除文件