Veri Sorguları için SELECT Deyimi

Bilgi sorgulamak için çeşitli SELECT deyimleri kullanabilirsiniz. Deyimler temel deyimler veya sorgudan döndürülen sonuç kümesini daraltmak için daha kısıtlayıcı olabilir.

Aşağıdaki örnek, verileri sorgulamak için kullanılan temel bir SELECT deyimidir.

SELECT * FROM Class

Bu deyim, belirtilen sınıfın ve alt sınıflarından herhangi birinin örneklerini döndürür. Sınıflar için sistem ve kullanıcı tanımlı özelliklerin tümü eklenir. Bir sistem özelliği belirli bir sorguyla ilgili değilse, NULLiçerir.

Sorgunun yürütülmesi çok fazla ek yüke neden oluyorsa ve kullanıcı özelliklerin yalnızca bir alt kümesiyle ilgileniyorsa, sonuç kümesini almak için gereken bant genişliğini azaltmak için çeşitli teknikler kullanabilirsiniz. İlk olarak, sorgular yıldız işareti yerine istenen özellikleri kullanabilir.

Aşağıdaki örnekte belirli özelliklerin nasıl sorgu yapılacağı gösterilmektedir.

SELECT property_1, property_2, property_3 FROM class

Sonuç kümesi tüm sistem özelliklerini ve belirtilen sistem dışı özellikleri içerir.

Sorgunun sonuç kümesinin kapsamını daraltmaya yönelik bir diğer teknik de __CLASS sistem özelliğini kullanmaktır. Sorgular varsayılan olarak belirtilen sınıfın ve alt sınıflarının tüm örneklerini döndürür. __CLASS sistem özelliğini, alt sınıfları hariç, yalnızca belirtilen sınıfın örneklerini istemek için kullanabilirsiniz.

Aşağıdaki örnekte, WHERE yan tümcesinde __CLASS sistem özelliğinin nasıl kullanılacağı gösterilmektedir.

SELECT * FROM Device WHERE __CLASS = "Device"

Sonuç kümesini belirli alt sınıfların örnekleriyle kısıtlamak için __CLASS sistem özelliğini de kullanabilirsiniz.

Aşağıdaki örnekte, sonuç kümesinin belirli alt sınıfların örnekleriyle nasıl kısıtlanacağı gösterilmektedir.

SELECT * FROM Device WHERE __CLASS = "Modem" OR __CLASS = "Keyboard"

Not

Eklenmiş nesne için geçersiz bir yol içeren bir sorgu oluşturursanız, sorgunuz hata veya sonuç döndürmez.

 

Aşağıdaki örnek, "70011" değerine eşit bir özellik P_Uint32EmbedObj eklenmiş nesnesini içeren MainClass örneğinin mevcut olduğu varsayılarak MainClassbir örneğini döndürür.

SELECT * FROM MainClass WHERE EmbedObj.P_Uint32 = 70011

Aşağıdaki örnek hiçbir sonuç döndürmez ve MainClass örneğindeki EmbedObj katıştırılmış nesnenin INVALID bir özelliği olmadığı varsayılarak hata döndürmez.

SELECT * FROM MainClass WHERE StrongEmbedObj.INVALID = 70011