Quale e' il modo migliore secondo voi per selezionare dati di un determinato id su tre tabelle che hanno in comune l'id stesso ?
Quale e' il modo migliore secondo voi per selezionare dati di un determinato id su tre tabelle che hanno in comune l'id stesso ?
...io ti consiglierei le LEFT JOIN....
Visita il mio Sito Web: http://www.distefanogiuseppe.it
L'id e' presente sicuramente su tutte e tre le tabelle quindi credo un left join non serva
facciamo l'esempio che le tre tabelle siano
tab1
id
cliente
indirizzo
tab2
id
prodotti cliente
magazzino cliente
tab3
id
macchina cliente
lavorazioni cliente
e che io voglia selezionare cliente, indirizzo, prodotti cliente, macchina cliente
so bene che posso fare
select tab1.cliente,tab1.indirizzo,tab2.prodotti cliente,tab3.macchina cliente from tab1,tab2,tab3 where ecc..
ma vorrei capire se c'e' un modo piu performante e stilisticamente migliore
questa tua e' una equi-join detta "stile theta" dove la corrispondenza della referenza fra tabelle viene impostata nel where ed e' assolutamente corrispondente alla INNER JOIN denominata "stile ANSI" dove i riferimenti sono nell clausola ON/USING.Originariamente inviato da kappaekappa
select tab1.cliente,tab1.indirizzo,tab2.prodotti cliente,tab3.macchina cliente from tab1,tab2,tab3 where ecc..
ma vorrei capire se c'e' un modo piu performante e stilisticamente migliore
La preferenza dipende dalla leggibilita' che vuoi dare. In un caso imposti le referenze tabellari nel where, nell'altro nell' ON della JOIN.
personalmente preferisco lo stile ANSI per me piu' leggibile e modificabilecodice:select .... stile theta from tab1, tab2, tab3 where tab1.id = tab2.id AND tab2.id = tab3.id stile ANSI from tab1 inner join tab2 on tab2.id = tab1.id inner join tab3 on tab3.id = tab2.id
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Ti ringrazio proprio quello volevo sapere