SELECT
Şunlar için geçerlidir: Databricks SQL Databricks Runtime
Bir veya daha fazla tablo başvurusundan bir sonuç kümesi oluşturur.
SELECT
yan tümcesi, ortak tablo ifadelerini (CTE), küme işlemlerini ve diğer çeşitli yan tümceleri de içeren bir sorgunun parçası olabilir.
Sözdizimi
SELECT [ hints ] [ ALL | DISTINCT ] { named_expression | star_clause } [, ...]
FROM table_reference [, ...]
[ LATERAL VIEW clause ]
[ WHERE clause ]
[ GROUP BY clause ]
[ HAVING clause]
[ QUALIFY clause ]
named_expression
expression [ column_alias ]
star_clause
[ { table_name | view_name } . ] * [ except_clause ]
except_clause
EXCEPT ( { column_name | field_name } [, ...] )
Parametreler
-
İpuçları, Azure Databricks iyileştiricisinin daha iyi planlama kararları almalarına yardımcı olur. Azure Databricks, birleştirme stratejilerinin seçilmesini ve verilerin yeniden bölümlenmesine etki eden ipuçlarını destekler.
TÜMÜ
Tablo başvurularından eşleşen tüm satırları seçin. Varsayılan olarak etkindir.
FARKLI
Sonuçlardaki yinelenenleri kaldırdıktan sonra tablo başvurularından eşleşen tüm satırları seçin.
named_expression
İsteğe bağlı olarak atanan ada sahip bir ifade.
-
Bir değer olarak değerlendirilen bir veya daha fazla değer, işleç ve SQL işlevinin birleşimi.
-
İfade sonucunu adlandıran isteğe bağlı bir sütun tanımlayıcısı. Sağlanmadıysa
column_alias
Databricks SQL bir tane türetir.
-
-
Yan tümcesindeki tüm başvurulabilen sütunları veya yan tümcedeki
FROM
belirli bir tablo başvurusunun sütunlarını veya alanlarını adlandırmak için birFROM
kısaltma. -
için
SELECT
bir giriş kaynağı. Bu giriş başvurusu, başvurudan önce anahtar sözcüğü kullanılarakSTREAM
bir akış başvurusuna dönüştürülebilir. -
bir veya daha fazla satır içeren bir sanal tablo oluşturan gibi
EXPLODE
oluşturucu işlevleriyle birlikte kullanılır.LATERAL VIEW
satırları her özgün çıkış satırına uygular.Databricks SQL'de ve Databricks Runtime 12.2 ile başlayarak bu yan tümcesi kullanım dışıdır. Tablo değerli bir oluşturucu işlevini table_reference olarak çağırmanız gerekir.
-
Sağlanan koşula göre yan tümcesinin
FROM
sonucunu filtreler. -
Satırları gruplandırmak için kullanılan ifadeler. Bu, satırları gruplandırma ifadelerine ve her gruptaki toplama değerlerine göre gruplandırmak için toplama işlevleriyle (
MIN
,COUNT
MAX
, ,SUM
,AVG
) birlikte kullanılır. BirFILTER
yan tümce bir toplama işlevine eklendiğinde, bu işleve yalnızca eşleşen satırlar geçirilir. -
tarafından üretilen
GROUP BY
satırların filtrelendiği koşul.HAVING
yan tümcesi, gruplandırma gerçekleştirildikten sonra satırları filtrelemek için kullanılır. olmadanGROUP BY
belirtirsenizHAVING
, ifadeleri gruplandırmadan (genel toplama) belirtirGROUP BY
. -
Pencere işlevlerinin sonuçlarını filtrelemek için kullanılan koşul. kullanmak
QUALIFY
için SELECT listesinde veya QUALIFY yan tümcesinde en az bir pencere işlevinin bulunması gerekir.
Delta tablosunda seç
Delta tabloları, standart SELECT
seçeneklere ek olarak bu bölümde açıklanan zaman yolculuğu seçeneklerini de destekler. Ayrıntılar için bkz . Delta Lake tablo geçmişiyle çalışma.
AS OF
söz dizimi
table_identifier TIMESTAMP AS OF timestamp_expression
table_identifier VERSION AS OF version
timestamp_expression
şu türlerden herhangi biri olabilir:'2018-10-18T22:15:12.013Z'
, başka bir ifadeyle zaman damgasına atanabilen bir dizedircast('2018-10-18 13:36:32 CEST' as timestamp)
'2018-10-18'
, yani bir tarih dizesicurrent_timestamp() - interval 12 hours
date_sub(current_date(), 1)
- Zaman damgasına atanabilen veya atanabilen diğer tüm ifadeler
version
, çıkışından elde edilebilen uzun bir değerdirDESCRIBE HISTORY table_spec
.
Alt timestamp_expression
sorgular da version
olamaz.
Örnek
> SELECT * FROM events TIMESTAMP AS OF '2018-10-18T22:15:12.013Z'
> SELECT * FROM delta.`/mnt/delta/events` VERSION AS OF 123
@
söz dizimi
Zaman damgasını @
veya sürümü belirtmek için söz dizimini kullanın. Zaman damgası biçiminde yyyyMMddHHmmssSSS
olmalıdır. sürümünden sonra @
bir ön koşula bağlanarak bir v
sürüm belirtebilirsiniz. Örneğin, tablosunun events
sürümünü 123
sorgulamak için belirtinevents@v123
.
Örnek
> SELECT * FROM events@20190101000000000
> SELECT * FROM events@v123
Örnekler
-- select all referencable columns from all tables
> SELECT * FROM VALUES(1, 2) AS t1(c1, c2), VALUES(3, 4) AS t2(c3, c4);
1 2 3 4
-- select all referencable columns from one table
> SELECT t2.* FROM VALUES(1, 2) AS t1(c1, c2), VALUES(3, 4) AS t2(c3, c4);
3 4
-- select all referencable columns from all tables except t2.c4
> SELECT * EXCEPT(c4) FROM VALUES(1, 2) AS t1(c1, c2), VALUES(3, 4) AS t2(c3, c4);
1 2 3
-- select all referencable columns from a table, except a nested field.
> SELECT * EXCEPT(c2.b) FROM VALUES(1, named_struct('a', 2, 'b', 3)) AS t(c1, c2);
1 { "a" : 2 }
-- Removing all fields results in an empty struct
> SELECT * EXCEPT(c2.b, c2.a) FROM VALUES(1, named_struct('a', 2, 'b', 3)) AS t(c1, c2);
1 { }
-- Overlapping names result in an error
> SELECT * EXCEPT(c2, c2.a) FROM VALUES(1, named_struct('a', 2, 'b', 3)) AS t(c1, c2);
Error: EXCEPT_OVERLAPPING_COLUMNS
İlgili makaleler
- CLUSTER BY yan tümcesi
- Ortak tablo ifadesi (CTE)
- DISTRIBUTE BY yan tümcesi
- GROUP BY yan tümcesi
- HAVING yan tümcesi
- QUALIFY yan tümcesi
- Ipuç -ları
- VALUES yan tümcesi
- KATILIN
- LATERAL VIEW yan tümcesi
- LIMIT yan tümcesi
- OFFSET yan tümcesi
- ORDER BY yan tümcesi
- PIVOT yan tümcesi
- Sorgu
- TABLESAMPLE yan tümcesi
- İşleçleri ayarlama
- SIRALAMA ÖLÇÜTÜ yan tümcesi
- Star yan tümcesi
- Tablo değerli işlev (TVF)
- tablo başvurusu
- UNPIVOT yan tümcesi
- WHERE yan tümcesi
- WINDOW yan tümcesi
- Pencere işlevleri