1. `Interiore join` (più comune):
Restituisce le righe solo quando c'è una corrispondenza in entrambe le tabelle in base alla condizione di join. Se non c'è corrispondenza in nessuna delle due tabelle, la riga è esclusa dal risultato.
`` `sql
Seleziona column_names
Dalla tabella 1
INNER JOIN TABLE2 sulla tabella1.column_name =table2.column_name;
`` `
* `Table1` e` Table2`:le tabelle a cui si desidera aderire.
* `column_name`:le colonne utilizzate per abbinare le righe tra le tabelle. Queste colonne devono avere tipi di dati compatibili.
Esempio:
Diciamo che hai due tavoli:
* `Clienti ': `Customerid`,` name`, `città`
* `ordini`: `Orderid`,` customerid`, `orderdate`,` totalamount`
Per ottenere il nome del cliente e i dettagli dell'ordine per tutti gli ordini:
`` `sql
Seleziona customer.Name, order.OrderId, order.OrderDate, Ordrs.Totalamount
Dai clienti
Ordini di join interni su clienti.customerid =order.customerid;
`` `
Ciò restituirà solo i clienti che hanno effettuato ordini e ordini che appartengono ai clienti esistenti.
2. `Sinistra join` (o` sinistra esterno join`):
Restituisce tutte le righe dalla tabella sinistra (`Tabella1`), anche se non c'è corrispondenza nella tabella destra (` Table2`). Se non c'è corrispondenza nella tabella destra, le colonne dalla tabella destra avranno valori `null '.
`` `sql
Seleziona column_names
Dalla tabella 1
Left join Table2 su Table1.column_name =table2.column_name;
`` `
Esempio: Per ottenere tutti i clienti e i loro ordini (compresi i clienti senza ordini):
`` `sql
Seleziona customer.Name, order.OrderId, order.OrderDate, Ordrs.Totalamount
Dai clienti
Left join order su clienti.customerid =order.customerid;
`` `
3. `Giunini a destra` (o` Giusta esterno a destra`):
Restituisce tutte le righe dalla tabella destra (`Table2`), anche se non c'è corrispondenza nella tabella sinistra (` Tabella1`). Se non c'è corrispondenza nella tabella sinistra, le colonne dalla tabella sinistra avranno valori `null '.
`` `sql
Seleziona column_names
Dalla tabella 1
Giusta destra Table2 sulla tabella1.column_name =table2.column_name;
`` `
Esempio: (Meno comune, ma utile in scenari specifici) Questo è funzionalmente equivalente a un "join sinistra" con le tabelle scambiate.
4. `Full Outer Join`:
Restituisce tutte le righe da entrambe le tabelle. Se c'è una corrispondenza, la riga corrispondente viene restituita. Se non c'è corrispondenza in una tabella, le colonne dell'altra tabella avranno valori `null '. mysql non supporta direttamente `full estern join` . Devi simularlo usando `Union` di` sinistra join` e `join a destra`.
`` `sql
Seleziona column_names
Dalla tabella 1
Left Join Table2 sulla tabella1.column_name =table2.column_name
UNIONE
Seleziona column_names
Dalla tabella 1
Giusta destra Table2 sulla tabella1.column_name =table2.column_name;
`` `
Scegliere il giusto join:
La scelta del tipo di join dipende dai dati di cui hai bisogno. `INTERNE JOIN` è la scelta più frequente, ma` sinistra join` e `join destro 'sono cruciali quando è necessario preservare tutte le file da una delle tabelle. Simula `Join esterno completa" quando hai bisogno di tutte le righe da entrambe le tabelle. Ricorda di usare gli alias (`Table1`,` Tabella2`) per chiarezza ed evitare l'ambiguità quando i nomi delle colonne sono gli stessi in entrambe le tabelle.
software © www.354353.com