SQL

Senza join

by Andrea Spera

Le query senza JOIN in SQL permettono di estrarre dati da una singola tabella o da più tabelle, ma senza creare collegamenti diretti tra di esse. Questo tipo di query è utile quando si desidera ottenere risultati in modo indipendente dalle relazioni tra tabelle.
In questa pagina vediamo come esempio pratico il calcolo della percentuale di colonna.
Usiamo la stessa tabella Ordini degli esempi precedenti.
Ordini
ID NrOrdine DataOrdine IdVenditore Valore
1 1010 05/10/2018 3 € 150,00
2 1011 05/10/2018 2 € 1.111,00
3 1012 13/10/2018 4 € 1.321,00
4 1013 15/10/2018 3 € 321,00
5 1014 15/10/2018 4 € 900,00
6 1015 11/02/2018 2 € 1.888,00
7 1016 11/10/2018 3 € 120,00
8 1017 11/10/2018 3 € 970,00
Codice
SELECT O.NrOrdine, O.DataOrdine, O.Valore, 100*(O.Valore/SQ.TotaleValore) AS PercColonna
FROM Ordini AS O,
(
SELECT Sum(O2.Valore) AS TotaleValore
FROM Ordini AS O2
) AS SQ;
Risultato della query
NrOrdine DataOrdine Valore PercColonna
1010 2018-10-05 150 2.2121
1011 2018-10-05 1111 16.3840
1012 2018-10-13 1321 19.4809
1013 2018-10-15 321 4.7338
1014 2018-10-15 900 13.2724
1015 2018-02-11 1888 27.8425
1016 2018-10-11 120 1.7697
1017 2018-10-11 970 14.3047