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. SELECT ifadesinin kullanımı kaynağa yönelik açık bir veri bağlantısı gerektirir.
[ (Inner | Left | Right | Full) jointablenameonfieldref = 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 bazı durumlarda desteklenmez.
ODBC sürücüsü bazen yukarıda listelenen tüm farklı tırnak işaretlerini kabul etmez.
Bilgi notuBu, 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.
Bağımsız Değişkenler:
Bağımsız Değişkenler
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. Genellikle kabul edilen işleç ve fonksiyonların 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.
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 Qlik Sense 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.
Örnek 1:
SELECT *
FROM `Categories`;
Örnek 2:
SELECT `Category
ID`, `Category Name` FROM `Categories`;
Örnek 3:
SELECT `Order
ID`, `Product ID`,
`Unit Price`
* Quantity * (1-Discount) as NetSales
FROM `Order
Details`;
Örnek 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`