SQL ifadesi

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime

İfade, işlevleri veya işleçleri kullanarak değişmez değerleri veya sütunlara, alanlara veya değişkenlere yapılan başvuruları temel alarak sonucu hesaplayan bir formüldür.

Sözdizimi

{ literal |
  named_parameter_marker |
  unnamed_parameter_marker |
  column_reference |
  field_reference |
  parameter_reference |
  CAST expression |
  CASE expression |
  expr operator expr |
  operator expr |
  expr [ expr ] |
  function_invocation |
  ( expr ) |
  ( expr, expr [, ... ] ) |
  scalar_subquery }

scalar_subquery
  ( query )

içindeki expr [ expr ] köşeli ayraçlar gerçek köşeli ayraçlardır ve isteğe bağlı söz dizimini göstermez.

Parametreler

  • değişmez değer

    Veri türleri'nde açıklanan türün değişmez değeri.

  • named_parameter_marker

    SQL deyimini gönderen API tarafından sağlanan bir değer için adlandırılmış ve yazılan yer tutucu.

  • unnamed_parameter_marker

    SQL deyimini gönderen API tarafından sağlanan bir değer için adsız ve yazılan yer tutucu.

  • column_reference

    Tablo veya sütun diğer adlarındaki bir sütuna başvuru.

  • field_reference

    STRUCT türünde bir alana başvuru.

  • parameter_reference

    işlevinin gövdesiyle sql kullanıcı tanımlı işlevinin parametresine başvuru. Başvuru, parametrenin nitelenmemiş adını kullanabilir veya adı işlev adıyla niteler. Parametreler, tanımlayıcıları çözümlerken en dıştaki kapsamı oluşturur.

  • CAST ifadesi

    Bağımsız değişkeni farklı bir türe dönüştüren bir ifade.

  • CASE ifadesi

    Koşullu değerlendirmeye olanak sağlayan bir ifade.

  • ifade

    bir ifadenin kendisi ile operatorbirleştirilir veya bir işlev için bağımsız değişkendir.

  • operator

    Birli veya ikili işleç.

  • expr [ expr ]

    Dizi öğesine veya eşleme anahtarına başvuru.

  • function_invocation

    Yerleşik veya kullanıcı tanımlı bir işlevi çağırma.

    Ayrıntılar için bkz . function_invocation .

  • ( expr )

    İşleç önceliğini geçersiz kılan zorunlu öncelik.

  • ( expr, expr [, ... ] )

    İki veya daha fazla alandan oluşan bir struct oluşturur. Bu notasyon, yapı işleviyle eş anlamlıdır.

  • scalar_subquery:

    • ( sorgu )

      Tek bir sütun ve en çok bir satır döndürmesi gereken bir sorguyu temel alan ifade.

Her işlev ve işlecin sayfaları, parametrelerinin beklediği veri türlerini açıklar. Azure Databricks, SQL veri türü kurallarını kullanarak beklenen türlere örtük atama gerçekleştirir. Sağlanan bağımsız değişken için bir işleç veya işlev geçersizse Azure Databricks bir hata oluşturur.

Ad çözümlemesi hakkında daha fazla bilgi için bkz . Sütun, alan, parametre ve değişken çözümlemesi .

Sabit ifade

Bağımsız değişken içermeyen yalnızca değişmez değerleri veya belirleyici işlevleri temel alan bir ifade. Azure Databricks ifadeyi yürütebilir ve normalde değişmez değerlerin gerekli olduğu sonuç sabitini kullanabilir.

Boole ifadesi

Sonuç türü olan BOOLEANbir ifade. Boole ifadesi bazen koşul veya koşul olarak da adlandırılır.

Skaler alt sorgu

formunun ( query )ifadesi. Sorgunun bir sütunu ve en fazla bir satırı olan bir tablo döndürmesi gerekir.

Sorgu satır döndürmezse sonuç olur NULL. Sorgu birden fazla satır döndürürse Azure Databricks bir hata döndürür. Aksi takdirde, sonuç sorgu tarafından döndürülen değerdir.

Basit ifade

Skaler alt sorgu veya koşul gibi içermeyen querybir EXISTS ifade.

Örnekler

> SELECT 1;
  1

> SELECT (SELECT 1) + 1;
  2

> SELECT 1 + 1;
  2

> SELECT 2 * (1 + 2);
  6

> SELECT 2 * 1 + 2;
  4

> SELECT substr('Spark', 1, 2);
  Sp

> SELECT c1 + c2 FROM VALUES(1, 2) AS t(c1, c2);
  3

> SELECT a[1] FROM VALUES(array(10, 20)) AS T(a);
  20

> SELECT true;
  true

> SELECT (c1, (c2, c3)) FROM VALUES(1, 2, 3) AS T(c1, c2, c3);
  {"c1":1,"col2":{"c2":2,"c3":3}}