Altro
Cos'è SELF JOIN e quando lo useresti?
Possibile duplicato: sql: self-join spiegato
Cos'è il self join e quando lo useresti? I don't capire auto join così una spiegazione laico con un esempio sarebbe grande.
97
3
Si usa un self join quando una tabella fa riferimento ai dati in se stessa.
Per esempio, una tabella
Employee
può avere una colonnaSupervisorID
che punta all'impiegato che è il capo dell'impiegato corrente.Per interrogare i dati e ottenere informazioni per entrambe le persone in una riga, si potrebbe fare un self join come questo:
Un self join è semplicemente quando si unisce una tabella con se stessa. Non c'è nessuna parola chiave
SELF JOIN
, si scrive semplicemente una normale unione dove entrambe le tabelle coinvolte nell'unione sono la stessa tabella. Una cosa da notare è che quando si fa un'autocongiunzione è necessario usare un alias per la tabella, altrimenti il nome della tabella sarebbe ambiguo.È utile quando si vogliono correlare coppie di righe della stessa tabella, per esempio una relazione genitore - figlio. La seguente query restituisce i nomi di tutte le sottocategorie immediate della categoria 'Cucina'.
Useresti una self-join su una tabella che si riferisce a se stessa - per esempio una tabella di dipendenti dove managerid è una chiave esterna a employeeid su quella stessa tabella.
Esempio: