Lasciatemi quindi prefigurare dicendo che non sono un wizard SQL in alcun modo. Quello che voglio fare è semplice come concetto, ma mi ha presentato una piccola sfida nel tentativo di ridurre al minimo la quantità di query del database che sto eseguendo.Ridurre al minimo le query SQL utilizzando join con la relazione uno-a-molti
Diciamo che ho una tabella dei reparti. All'interno di ciascun dipartimento è presente un elenco di dipendenti.
Qual è il modo più efficiente di elencare tutti i reparti e quali dipendenti sono presenti in ciascun reparto.
Così, per esempio se ho una tabella reparto con:
id name
1 sales
2 marketing
e un tavolo persone con:
id department_id name
1 1 Tom
2 1 Bill
3 2 Jessica
4 1 Rachel
5 2 John
Qual è la migliore lista modo tutti i dipartimenti e tutti i dipendenti per ciascuna dipartimento in questo modo:
Vendite
- Tom
- Bill
- Rachel
Marketing
- Jessica
- John
Fai finta che entrambe le tabelle siano davvero enormi. (Voglio evitare di ottenere un elenco di reparti, quindi eseguire il looping del risultato e fare una singola query per ogni dipartimento). Pensa in modo simile alla selezione degli stati/commenti in un sistema simile a Facebook, quando gli stati e i commenti sono memorizzati in tabelle separate.
+1 per aver tentato di liberarti dalla mentalità ciclica del programmatore imperativo. Ne vale la pena. – spender