View Full Version : [sql] curiosita
sYSTEM32
29-11-2015, 01:36
Ciao a tutti, vorrei capire una cosa: quando scrivo query annidate, es
(select data, (select data1 from table ) from table where date=xx.yy.zzzz)
il server sql effettua un join per trovare il risultato, giusto?
Posso arrivare allo stesso risultato effettuando un join tra le 2 tabelle?
malatodihardware
01-12-2015, 21:52
Subquery e join sono due cose differenti, se usi una subquery il server non fa una join, ma fa un'altra query per ogni query principale.
Non sempre puoi arrivare allo stesso risultato, ci sono subquery non "traducibili" in join esplicite, mentre è generalmente vero il contrario ovvero le join sono "traducibili" in subquery.
A livello di performance sono generalmente più ottimizzate le join, a meno che non si vada ad interrogare tabelle con parecchi record, dove una subquery con un where indicizzato potrebbe essere più performante.
Sicuramente a livello di "leggibilità" della query, la subquery è più immediata della join.
Inviato dal mio Nexus 5
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.