1. Join interno:
- Combina le righe di due tabelle in cui esiste una corrispondenza tra le colonne di join di entrambe le tabelle.
- Esempio:
```q
SELEZIONA *
DAI Clienti
Ordini INNER JOIN
ON Clienti.IDCliente =Ordini.IDCliente;
```
2. Join esterno sinistro:
- Include tutte le righe della tabella di sinistra e solo le righe corrispondenti della tabella di destra.
- Esempio:
```q
SELEZIONA *
DAI Clienti
LEFT OUTER JOIN Ordini
ON Clienti.IDCliente =Ordini.IDCliente;
```
3. Join esterno destro:
- Include tutte le righe della tabella di destra e solo le righe corrispondenti della tabella di sinistra.
- Esempio:
```q
SELEZIONA *
DAI Clienti
RIGHT OUTER JOIN Ordini
ON Clienti.IDCliente =Ordini.IDCliente;
```
4. Join esterno completo:
- Combina tutte le righe di entrambe le tabelle, incluse le righe non corrispondenti di entrambe le tabelle.
- Esempio:
```q
SELEZIONA *
DAI Clienti
Ordini OUTER JOIN COMPLETI
ON Clienti.IDCliente =Ordini.IDCliente;
```
5. Accesso automatico:
- Esegue un'operazione di unione sulla stessa tabella, collegando le righe in base a una colonna comune all'interno della tabella.
- Esempio:
```q
SELEZIONA *
DA Dipendenti COME Dipendente1
UNISCITI ai dipendenti come dipendente2
ON Employee1.ManagerID =Employee2.EmployeeID;
```
6. Unione incrociata:
- Combina ogni riga di una tabella con ogni riga di un'altra tabella, ottenendo un gran numero di righe.
- Esempio:
```q
SELEZIONA *
DAI Clienti
Ordini CROSS JOIN;
```
7. Unione naturale:
- Esegue un inner join basato su nomi di colonne comuni tra due tabelle. Non è necessario specificare esplicitamente i nomi delle colonne comuni.
- Esempio:
```q
SELEZIONA *
DAI Clienti
NATURAL JOIN Ordini;
```
Quando si utilizzano i join, è importante considerare la creazione dell'indice nelle colonne di join per migliorare le prestazioni e ottimizzare l'esecuzione delle query.
software © www.354353.com