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
Tablo referansı, SQL içindeki bir ara sonuç tablosudur. Diğer işleçlerden türetilebilir, örneğin işlevler, birleşimler veya alt sorgular , bir temel tabloya doğrudan başvurabilir veya satır içi tablo olarak oluşturulabilir.
Sözdizimi
table_reference
{ table_name [ TABLESAMPLE clause ] [ table_alias ] |
{ STREAM table_name [ table_alias ] | STREAM ( table_name ) [ table_alias ] } |
view_name [ table_alias ] |
table_reference JOIN clause |
table_reference PIVOT clause |
table_reference UNPIVOT clause |
[ STREAM ] table_valued_function [ table_alias ] |
[ LATERAL ] table_valued_function [ table_alias ] |
VALUES clause |
[ LATERAL ] ( query ) [ TABLESAMPLE clause ] [ table_alias ] }
Parametreler
-
zamansal belirtimi içerebilen bir tablo tanımlar. Ayrıntılar için bkz. Delta Lake tablo geçmişiyle çalışma.
Tablo bulunamazsa Azure Databricks bir TABLE_OR_VIEW_NOT_FOUND hatası oluşturur.
Ad çözümlemesi hakkında daha fazla bilgi için bkz. Sütun, alan, parametre ve değişken çözümleme.
Şunlar için geçerlidir: **
Databricks Runtime 16.0 ve üzeri
table_name
bir seçenek belirtimi içerebilir. -
Bir görünümü veya ortak tablo ifadesini (CTE) tanımlar. Görünüm bulunamazsa Azure Databricks bir TABLE_OR_VIEW_NOT_FOUND hatası oluşturur.
Ad çözümlemesi hakkında daha fazla bilgi için bkz. Sütun, alan, parametre ve değişken çözümleme.
DERE
Akış kaynağı olarak bir tablo veya tablo değerli bir işlev döndürür.
STREAM
anahtar sözcüğüyle kullanıldığında tablolara zamansal belirtim sağlanamaz. Akış kaynakları en yaygın olarak akış tablolarının tanımlarında kullanılır.-
Bir join işlemi kullanarak iki veya daha fazla ilişkiyi birleştirir.
-
Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime 12.2 LTS ve üzeri.
Veri perspektifi için kullanılır; toplanan değerleri belirli bir sütun değerine göre alabilirsiniz.
Databricks Runtime 12.0'dan önce, PIVOT, SELECT yan tümcesinden sonra
FROM
ile sınırlıdır. -
Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime 12.2 LTS ve üzeri.
Veri perspektifi için kullanılır; birden çok sütun grubunu satırlara bölebilirsiniz.
[YANAL]table_valued_function_invocation
Tablo değerli bir işlevi çağırır. Aynı
table_reference
cümleciğindeki önceki birFROM
tarafından kullanıma sunulan sütunlara başvurmak içinLATERAL
'yi belirtmeniz gerekir.-
Satır içi bir tablo tanımlar.
[YANAL] ( sorgu )
Sorgu kullanarak tablo referansını hesaplar.
LATERAL
ile başlayan bir sorgu, aynıtable_reference
ifadesinde öncesinde gelen birFROM
tarafından kullanıma sunulan sütunlara başvurabilir. Böyle bir yapı bağıntılı veya bağımlı sorgu olarak adlandırılır.-
İsteğe bağlı olarak, satırların yalnızca bir bölümünü örneklemek suretiyle sonuç kümesinin boyutunu küçültün.
-
İsteğe bağlı olarak için
table_reference
bir etiket belirtir.table_alias
column_identifier
içeriyorsa, sayılarınıntable_reference
sütun sayısıyla eşleşmesi 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 events
numaralı sürümünü sorgulamak için events@v123
belirtin.
Örnek
> SELECT * FROM events@20190101000000000
> SELECT * FROM events@v123
Örnekler
-- Return a data set from a storage location using a credential.
> SELECT * FROM `csv`.`spreadsheets/data.csv` WITH(CREDENTIAL some_credential);
-- Select from a jdbc data source while controlling the fetch size.
> SELECT * FROM jdbcTable WITH(fetchSize = 0);
-- 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
- JOIN
- PIVOT yan tümcesi
- SELECT (alt seçim)
- UNPIVOT yan tümcesi
- VALUES yan tümcesi
- TVF (Tablo değerli işlev) çağırma
- TABLESAMPLE yan tümcesi