Pernyataan SELECT untuk Kueri Data
Anda bisa menggunakan berbagai pernyataan SELECT untuk mengkueri informasi. Pernyataan bisa menjadi pernyataan dasar atau bisa lebih ketat untuk mempersempit kumpulan hasil yang dikembalikan dari kueri.
Contoh berikut adalah pernyataan SELECT dasar yang digunakan untuk mengkueri data.
SELECT * FROM Class
Pernyataan ini mengembalikan instans kelas yang ditentukan dan salah satu subkelasnya. Semua sistem dan properti yang ditentukan pengguna untuk kelas disertakan. Jika properti sistem tidak relevan untuk kueri tertentu, properti tersebut berisi NULL.
Anda dapat menggunakan beberapa teknik untuk mengurangi bandwidth yang diperlukan untuk mengambil kumpulan hasil, jika eksekusi kueri menghasilkan terlalu banyak overhead dan pengguna hanya tertarik pada subset properti. Pertama, kueri dapat mengganti tanda bintang dengan properti yang diinginkan.
Contoh berikut menunjukkan cara mengkueri properti tertentu.
SELECT property_1, property_2, property_3 FROM class
Tataan hasil mencakup semua properti sistem dan properti nonsystem yang ditentukan.
Teknik lain untuk mempersempit cakupan tataan hasil kueri adalah menggunakan properti sistem __CLASS . Kueri secara default mengembalikan semua instans kelas yang ditentukan dan subkelasnya. Anda dapat menggunakan properti sistem __CLASS untuk meminta hanya instans kelas yang ditentukan, tidak termasuk subkelasnya.
Contoh berikut menunjukkan cara menggunakan properti sistem __CLASS dalam klausa WHERE.
SELECT * FROM Device WHERE __CLASS = "Device"
Anda juga dapat menggunakan properti sistem __CLASS untuk membatasi tataan hasil ke instans subkelas tertentu.
Contoh berikut menunjukkan cara membatasi tataan hasil ke instans subkelas tertentu.
SELECT * FROM Device WHERE __CLASS = "Modem" OR __CLASS = "Keyboard"
Catatan
Jika Anda membuat kueri dengan jalur yang tidak valid untuk objek yang disematkan, kueri Anda tidak mengembalikan kesalahan atau hasil apa pun.
Contoh berikut mengembalikan instans MainClass, dengan asumsi bahwa instans MainClass ada yang berisi objek EmbedObj yang disematkan dengan properti P_Uint32 yang sama dengan "70011".
SELECT * FROM MainClass WHERE EmbedObj.P_Uint32 = 70011
Contoh berikut tidak mengembalikan hasil dan tidak mengembalikan kesalahan, dengan asumsi bahwa objek yang disematkan EmbedObj dalam instans MainClass tidak memiliki properti INVALID.
SELECT * FROM MainClass WHERE StrongEmbedObj.INVALID = 70011