Wyrażenie SQL
Dotyczy: Databricks SQL Databricks Runtime
Wyrażenie to formuła, która oblicza wynik na podstawie literałów lub odwołań do columns, pól lub zmiennych przy użyciu funkcji lub operatorów.
Składnia
{ literal |
named_parameter_marker |
unnamed_parameter_marker |
column_reference |
field_reference |
parameter_reference |
CAST expression |
CASE expression |
COLLATE expression |
expr operator expr |
operator expr |
expr [ expr ] |
function_invocation |
( expr ) |
( expr, expr [, ... ] ) |
scalar_subquery }
scalar_subquery
( query )
Nawiasy w tabeli expr [ expr ]
są rzeczywistymi nawiasami kwadratowymi i nie wskazują opcjonalnej składni.
Parameters
literal
Literał typu opisany w artykule Typy danych.
-
Nazwany i wpisany symbol zastępczy dla wartości dostarczonej przez interfejs API przesyłając instrukcję SQL.
-
Symbol zastępczy nienazwany i wpisany dla wartości dostarczonej przez interfejs API przesyłając instrukcję SQL.
column_reference
Odwołanie do column w aliasie table lub column.
field_reference
-
Odwołanie do parametru funkcji zdefiniowanej przez użytkownika SQL z treścią funkcji. Odwołanie może używać niekwalifikowanej nazwy parametru lub qualify nazwę z nazwą funkcji. Parameters stanowią najbardziej zewnętrzny poziom zakresu podczas rozpoznawania identyfikatorów.
-
Wyrażenie rzutuje argument na inny typ.
-
Wyrażenie umożliwiające ocenę warunkową.
-
Wyrażenie dołączające eksplitytne sortowanie do wyrażenia ciągu.
wyrażenie
Wyrażenie, które jest łączone z elementem
operator
, lub jest argumentem funkcji.-
Jednoargumentowy lub binarny operator.
-
Odwołanie do elementu tablicy lub klucza mapy.
-
Wywołanie wbudowanej lub zdefiniowanej przez użytkownika funkcji.
Aby uzyskać szczegółowe informacje, zobacz function_invocation .
( wyrażenie )
Wymuszony pierwszeństwo, które zastępuje pierwszeństwo operatora.
( wyrażenie, wyrażenie [, ... ] )
struct
Tworzy co najmniej dwa pola. Ta notacja jest synonimem funkcji struktury.-
( zapytanie )
Wyrażenie oparte na zapytaniu, które musi zwrócić jedną column i maksymalnie jeden wiersz.
Strony dla każdej funkcji i operatora opisują typy danych, których parameters oczekują. Usługa Azure Databricks wykonuje niejawne rzutowanie do oczekiwanych typów przy użyciu reguł typów danych SQL. Jeśli operator lub funkcja jest nieprawidłowa dla podanego argumentu, usługa Azure Databricks zgłasza błąd.
Aby uzyskać więcej informacji na temat rozpoznawania nazw, zajrzyj do Column, rozpoznawania pól, parametrów i zmiennych oraz.
Wyrażenie stałe
Wyrażenie oparte tylko na literałach lub funkcjach deterministycznych bez argumentów. Usługa Azure Databricks może wykonać wyrażenie i użyć wynikowej stałej where zwykle wymagane są literały.
Wyrażenie warunkowe
Wyrażenie z typem BOOLEAN
wyniku . Wyrażenie logiczne jest również czasami określane jako warunek lub predykat.
Podzapytywanie skalarne
Wyrażenie formularza ( query )
. Zapytanie musi zwrócić table, który zawiera jeden column i maksymalnie jeden wiersz.
Jeśli zapytanie nie zwraca żadnego wiersza, wynikiem jest NULL
.
Jeśli zapytanie zwraca więcej niż jeden wiersz, usługa Azure Databricks zwraca błąd.
W przeciwnym razie wynik jest wartością zwracaną przez zapytanie.
Wyrażenie proste
Wyrażenie, które nie zawiera query
elementu , takiego jak podzapytywanie skalarne lub EXISTS
predykat.
Przykłady
> 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}}