Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: Databricks SQL
Databricks Runtime
bir veya daha fazla SELECT
yan tümcesi, ortak tablo ifadeleri (CTE), küme işlemleri ve diğer çeşitli yan tümceleri de içeren bir sorgunun parçası olabilir.
Sözdizimi
SELECT 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
-
Alt sorguda ifadelerin yürütülmesi, toplamalar ve yinelenenleri kaldırma işlemleri dahil olmak üzere döndürülecek sütunları toplar.
-
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.table_reference
bir [ölçüm görünümü]((/sql/language-manual/sql-ref-syntax-ddl-create-view.md) ise,FROM
cümlesinde başka bir tabloya başvurulmamalıdır. -
bir veya daha fazla satır içeren bir sanal tablo oluşturan
EXPLODE
gibi 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. Bir tablo değerli oluşturucu işlevini table_referenceolarak çağırmalısınız.
-
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
,MAX
,COUNT
,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. olmadanHAVING
belirtirsenizGROUP BY
, ifadeleri gruplandırmadan (genel toplama) belirtirGROUP BY
. -
Pencere işlevlerinin sonuçlarını filtrelemek için kullanılan önermeler.
QUALIFY
kullanmak için, listesinde veya SELECT yan tümcesinde en az bir QUALIFY bulunması gerekir.
Delta tablosunda seç
Delta tabloları, standart SELECT
seçeneklerine ek olarak bu bölümde açıklanan zaman yolculuğu seçeneklerini 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 dizedir cast('2018-10-18 13:36:32 CEST' as timestamp)
-
'2018-10-18'
, yani bir tarih dizesi current_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 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, 123
tablosunun sürüm events
'ı sorgulamak için events@v123
'yi belirtin.
Ö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
- JOIN
- LATERAL VIEW yan tümcesi
- LIMIT yan tümcesi
- OFFSET yan tümcesi
- ORDER BY yan tümcesi
- PIVOT yan tümcesi
- Sorgu
- SELECT yan tümcesi
- Küme işleçleri
- SORT BY yan tümcesi
- Star yan tümcesi
- TABLESAMPLE yan tümcesi
- Tablo Değerli Fonksiyon (TVF)
- tablo referansı
- UNPIVOT yan tümcesi
- WHERE yan tümcesi
- WINDOW yan tümcesi
- Pencere fonksiyonları