Prova i modelli Gemini 1.5, i più recenti modelli multimodali in Vertex AI, e scopri cosa puoi creare con una finestra contestuale fino a 2 milioni di token. di Gemini Advanced.
Prova i modelli Gemini 1.5, i più recenti modelli multimodali in Vertex AI, e scopri cosa puoi creare con una finestra contestuale fino a 2 milioni di token.
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Spiegare uno snippet di codice SQL.
Puoi eseguire query direttamente su un modello e testare i risultati restituiti quando utilizzi
i diversi valori dei parametri con la console Cloud o chiamando il metodo
l'API Vertex AI in modo diretto.
Spiega la funzione di CROSS APPLY nel codice seguente:
SELECT customer.CustomerId, customer.CustomerName, ord.*
FROM customers customer
CROSS APPLY
(
SELECT SUM(order.quantity) as TotalQuantity
FROM orders order
WHERE order.CustomerId = customer.CustomerId
) ord;
Risposta
La funzione CROSS APPLY in questo codice SQL funge da sottoquery correlata che applica i risultati della sottoquery a ogni riga della tabella customers. Ecco un'analisi dettagliata:
Query esterna:la query principale seleziona CustomerId e CustomerName dalla tabella customers, con alias customer.
CROSS APPLY: questa parola chiave introduce la sottoquery correlata. Indica al database di eseguire la sottoquery per ogni riga della tabella customers.
Sottoquery: la sottoquery calcola il TotalQuantity per ogni cliente in base a:
Selezione della somma di quantity dalla tabella orders, con alias di order.
Filtro della tabella orders in base al valore CustomerId della riga corrente nella tabella customers.
Risultato:CROSS APPLY restituisce una singola riga per ogni cliente, contenente CustomerId, CustomerName e il valore TotalQuantity calcolato.
In sostanza, CROSS APPLY consente di generare dinamicamente una nuova colonna (TotalQuantity) per ogni cliente in base ai risultati della sottoquery, unendo efficacemente la tabella customers con i dati degli ordini aggregati.
Esempio:
Supponiamo che tu abbia i seguenti dati:
Clienti:
CustomerId
CustomerName
1
Mario Rossi
2
Sara Bianchi
Ordini:
OrderId
CustomerId
Quantità
1
1
5
2
1
3
3
2
2
La query restituirà il seguente risultato:
CustomerId
CustomerName
TotalQuantity
1
Mario Rossi
8
2
Sara Bianchi
2
Nota:
CROSS APPLY è simile a OUTER APPLY, ma OUTER APPLY restituisce una riga anche se la sottoquery non restituisce alcun risultato.
In questo esempio specifico, potresti ottenere lo stesso risultato utilizzando JOIN con una clausola GROUP BY. Tuttavia, CROSS APPLY può essere più flessibile ed efficiente in determinati scenari, soprattutto quando ha a che fare con sottoquery complesse.