|
|
|
|
Strumenti |
29-11-2015, 01:36 | #1 |
Member
Iscritto dal: Aug 2007
Messaggi: 90
|
[sql] curiosita
Ciao a tutti, vorrei capire una cosa: quando scrivo query annidate, es
Codice:
(select data, (select data1 from table ) from table where date=xx.yy.zzzz) Posso arrivare allo stesso risultato effettuando un join tra le 2 tabelle? |
01-12-2015, 21:52 | #2 |
Senior Member
Iscritto dal: Sep 2008
Messaggi: 3583
|
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 |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:01.