本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 BY 子句來查詢文件 ID
重要
支援結束通知:現有客戶將能夠使用 Amazon,QLDB直到 2025 年 7 月 31 日終止支援為止。有關更多詳細信息,請參閱將 Amazon QLDB 分類帳遷移到 Amazon Aurora 郵政. SQL
雖然您可以定義要做為唯一識別碼的欄位 (例如車輛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
'
若要瞭解如何變更表格中的文件,請繼續執行更新和刪除文件。