Menggunakan klausa BY untuk query ID dokumen - Amazon Quantum Ledger Database (Amazon QLDB)

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan klausa BY untuk query ID dokumen

Meskipun Anda dapat menentukan bidang yang dimaksudkan untuk menjadi pengidentifikasi unik (misalnya, VIN kendaraan), pengenal unik dokumen yang sebenarnya adalah bidangid metadata, seperti yang dijelaskan dalamMemasukkan dokumen. Untuk alasan ini, Anda dapat menggunakanid bidang untuk membuat hubungan antara tabel.

idBidang dokumen langsung dapat diakses dalam tampilan berkomitmen saja, tetapi Anda juga dapat memproyeksikannya dalam tampilan pengguna default dengan menggunakanBY klausa. Sebagai contoh, lihat query berikut dan hasilnya.

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" }] } }

Dalam query ini,r_id adalah alias user-defined yang dinyatakan dalamFROM klausa, menggunakanBY kata kunci. r_idAlias ini mengikat ke bidangid metadata untuk setiap dokumen dalam set hasil kueri. Anda dapat menggunakan alias ini dalamSELECT klausa dan juga dalamWHERE klausa query dalam tampilan pengguna.

Namun, untuk mengakses atribut metadata lainnya, Anda harus menanyakan tampilan berkomitmen.

Bergabung di ID dokumen

Misalkan Anda menggunakan dokumenid satu tabel sebagai kunci asing di bidang yang ditentukan pengguna dari tabel lain. Anda dapat menggunakanBY klausa untuk menulis kueri gabungan batin untuk dua tabel di bidang ini (miripBergabung dengan tampilan berkomitmen dan pengguna dengan topik sebelumnya).

Contoh berikut bergabung dua tabel bernamaDriversLicense danPerson padaid bidangPersonId dan dokumen mereka masing-masing, menggunakanBY klausa untuk yang terakhir.

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

Untuk mempelajari cara membuat perubahan pada dokumen di tabel Anda, lanjutkan keMemperbarui dan menghapus dokumen.