Sommario:
Definizione - Cosa significa Self-Join?
Un self-join, noto anche come join interno, è un'istruzione di linguaggio di query strutturato (SQL) in cui una tabella interrogata viene unita a se stessa. L'istruzione self-join è necessaria quando vengono confrontati due set di dati, all'interno della stessa tabella.
Techopedia spiega Self-Join
Ad esempio, esiste una tabella denominata DIPENDENTI che contiene tre colonne:
- Nome dipendente
- ID Dipendente
- ID del responsabile dei dipendenti
Poiché i gestori sono anche dipendenti, la colonna MANAGER_ID contiene anche l'ID di un altro dipendente che è anche il responsabile. Per scrivere una query per estrarre i nomi e gli ID dei dipendenti e dei dirigenti, la tabella deve essere suddivisa logicamente a metà per eseguire due query separate: impiegati (prima tabella) e dirigenti (seconda tabella). Ciò si ottiene eseguendo la seguente query SQL di esempio:
SELEZIONARE a.employee_name, b.employee_name come Manager_name
Dipendenti come a, impiegati come b
DOVE a.manager_id = b.employee_id
Comprendere il concetto di auto-unione e le circostanze è essenziale per comprendere l'istruzione SQL sopra.
Nell'esempio, alla seconda tabella EMPLOYEES viene assegnato l'alias b, che in realtà è un sottoinsieme della tabella EMPLOYEES completa. Tuttavia, la condizione WHERE impone alla prima tabella DIPENDENTI di interrogare il responsabile dei dipendenti nella seconda tabella DIPENDENTI.
