Select

Bir ODBC veri kaynağından veya bir OLE DB sağlayıcısından alanların seçilmesi, standart SQL SELECT deyimleriyle gerçekleştirilir. Bununla birlikte, SELECT deyimlerinin kabul edilip edilmemesi, kullanılan ODBC sürücüsüne veya OLE DB sağlayıcısına bağlıdır.

Syntax:  

Select [all | distinct | distinctrow | top n [percent] ] fieldlist

From tablelist

[where criterion ]

[group by fieldlist [having criterion ] ]

[order by fieldlist [asc | desc] ]

[ (Inner | Left | Right | Full) join tablename on fieldref = fieldref ]

 

Ayrıca, bazen birkaç SELECT deyimi union işlecinin kullanımıyla tek bir deyimde birleştirilebilir:

selectstatement Union selectstatement

 

SELECT deyimi ODBC sürücüsü veya OLE DB sağlayıcısı tarafından yorumlandığından, ODBC sürücülerinin veya OLE DB sağlayıcısının özelliklerine bağlı olarak genel SQL söz diziminden sapmalar olabilir. Örneğin:

  • as öğesine bazen izin verilmez, yani aliasname öğesinin fieldname öğesinden hemen sonra gelmesi gerekir.
  • aliasname kullanılırsa as bazen zorunlu olur.
  • distinct, as, where, group by, order by veya union bazen desteklenmez.
  • ODBC sürücüsü bazen yukarıda listelenen tüm farklı tırnak işaretlerini kabul etmez.
Note: Bu, SQL SELECT deyimi hakkında eksiksiz bir açıklama değildir! Örneğin, SELECT deyimleri iç içe geçirilebilir, tek bir SELECT deyiminde birkaç birleştirme yapılabilir, ifadelerde izin verilen fonksiyonların sayısı bazen çok fazla olabilir vs.

Arguments:  

Bağımsız Değişken Açıklama
distinct distinct, seçilen alanlardaki değerlerin çoğaltılmış bileşimlerinin yalnızca bir kez yüklenmesi gerektiğinde kullanılan bir koşuldur.
distinctrow distinctrow, kaynak tablodaki çoğaltılmış kayıtların yalnızca bir kez yüklenmesi gerektiğinde kullanılan bir koşuldur.
fieldlist fieldlist ::= (*| field ) {, field }

Seçilecek alanların listesi. Alan listesi olarak * kullanılması tablodaki tüm alanları işaret eder.

fieldlist ::= field {, field }

Virgülle ayrılmış şekilde, bir veya daha fazla alanı içeren liste.

field ::= ( fieldref | expression ) [as aliasname ]

İfade örneğin diğer bir veya birkaç alanı temel alan bir sayısal fonksiyon veya dize fonksiyonu olabilir. Kabul edilen işleçlerden ve fonksiyonlardan bazıları şunlardır: +, -, *, /, & (dize birleşimi), sum(fieldname), count(fieldname), avg(fieldname)(average), month(fieldname) vb. Daha fazla bilgi için ODBC sürücüsünün belgelerine bakın.

fieldref ::= [ tablename. ] fieldname

tablename ve fieldname belirttikleri içerikle aynı olan metin dizeleridir. Örneğin, boşluk içermeleri durumunda düz çift tırnak işaretleri içine alınmaları gerekir.

as cümlesi alana yeni bir ad atamak için kullanılır.
from tablelist ::= table {, table }

Alanların seçileceği tabloların listesi.

table ::= tablename [ [as ] aliasname ]

tablename tırnak içine alınabilir veya alınmayabilir.

From

where where, bir kaydın seçime dahil edilmesi gerekip gerekmediğini belirtmek için kullanılan bir cümledir.

criterion, bazen oldukça karmaşık olabilen bir mantıksal ifadedir. Kabul edilen işleçlerden bazıları şunlardır: sayısal işleçler ve fonksiyonlar, =, <> veya #(eşit değildir), >, >=, <, <=, and, or, not, exists, some, all, in ve ayrıca yeni SELECT deyimleri. Daha fazla bilgi için ODBC sürücüsü veya OLE DB sağlayıcısı ile ilgili belgelere bakın.

group by group by, birkaç kaydı bir kayıtta toplamak (gruplandırmak) için kullanılan bir cümledir. Bir grup içinde, belirli bir alan için tüm kayıtlar aynı değere sahip olmalıdır; aksi takdirde alan yalnızca bir ifadenin içinden (örneğin, toplam veya ortalama olarak) kullanılabilir. Bir veya birkaç alanı temel alan ifade, alan sembolünün ifadesinde tanımlanmıştır.
having having öğesi, where cümlesinin kayıtları nitelemek için kullanılmasına benzer şekilde grupları nitelemek için kullanılan bir cümledir.
order by order by öğesi, SELECT deyiminin sonuç olarak elde edilen tablosunun sıralama düzenini belirtmek için kullanılan bir cümledir.
join join, birkaç tablonun bir tabloda birleştirilip birleştirilmeyeceğini belirten bir niteleyicidir. Alan adları ve tablo adları, boşluk veya ulusal karakter kümelerine ait harfler içermeleri durumunda tırnak içine alınmalıdır. Kod QlikView tarafından otomatik olarak oluşturulduğunda, burada kullanılan tırnak işareti Connect deyimindeki veri kaynağının veri kaynağı tanımında belirtilen ODBC sürücüsü veya OLE DB sağlayıcısı tarafından tercih edilen tırnak işaretidir.

Example 1:  

SELECT * FROM `Categories`;

Example 2:  

SELECT `Category ID`, `Category Name` FROM `Categories`;

Example 3:  

SELECT `Order ID`, `Product ID`,

`Unit Price` * Quantity * (1-Discount) as NetSales

FROM `Order Details`;

Example 4:  

SELECT `Order Details`.`Order ID`,

Sum(`Order Details`.`Unit Price` * `Order Details`.Quantity) as `Result`

FROM `Order Details`, Orders

where Orders.`Order ID` = `Order Details`.`Order ID`

group by `Order Details`.`Order ID`;

See also: