|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2000
Messaggi: 608
|
[SQL SERVER] Che senso ha questa query?
Ciao a tutti, studiando le subquery in SQL mi sono imbattuto in un esempio del quale non ho assolutamente capito l'utilità, il senso logico:
Codice:
SELECT Name
FROM AdventureWorks.Production.Product
WHERE ListPrice =
(SELECT ListPrice
FROM AdventureWorks.Production.Product
WHERE Name = 'Chainring Bolts' )
Se non ho capito male, l'effetto è di ottenere una riga nel cui campo Name ci sarà il valore Chainring Bolts che però, appunto, io conosco già. In pratica cerco il valore di un campo del quale conosco già il valore. Quindi perché eseguire una query per trovare un valore che conosco già? Scusate ma proprio non l'ho capito....qualcuno riesce a spiegarmelo?
__________________
Intel Core2Quad Q6600 2,4GHz @ 3,0 GHz 2 Gb RAM 667 MHz ATI HD2900XT |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2780
|
Premettendo che le query non sono utili per definizione (nel senso che essere utili non fa parte della loro definizione), quella query non restituisce necessariamente solo quel nome ma anche il nome di altri prodotti con lo stesso prezzo.
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Esatto, restituisce tutti i nomi dei prodotti che costano esattamente come il prodotto che si chiama 'Chainring Bolts'
E se per caso ci fossero 2+ prodotti con tale nome, darebbe errore. (Bella query
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Aug 2000
Messaggi: 608
|
Ma quanto sono rinco?? Avete ragione da vendere....per quanto mi sforzassi di capirla non riuscivo ad afferrare una cosa così semplice!
Effetto della stanchezza? Troppo lavoro? Mah... Grazie a tutti per la gentile risposta
__________________
Intel Core2Quad Q6600 2,4GHz @ 3,0 GHz 2 Gb RAM 667 MHz ATI HD2900XT |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:04.




















