Eventuali duplicati:
(self,left outer,right outer,full outer) join - real world examplesQual è la differenza tra SINISTRA, DESTRA, INNER e OUTER JOINs?
Ciao, caro SO comunità!
Ho lavorato con database SQL da qualche tempo, ma un aspetto mi confonde ancora molto: i join di tabelle. Capisco molto chiaramente cosa succede quando scrivo una query su più tavoli, ma quando entra in gioco un JOIN, mi sento come se non capissi niente.
Ti prego, aiutami a capire cos'è un join da tavolo e qual è la differenza tra SINISTRA, DESTRA, INTERIORE e OUTER JOINs? Cos'è un auto join?
Le sarei grato se potesse fornire un esempio del loro utilizzo in questa semplice struttura della tabella:
Tabella autori
id |name
---------------
1 |John
2 |Bob
3 |Richard
Tabella libri
id |author_id |title |rating
-----------------------------------------
1 |1 |book A |5
2 |1 |book B |4.8
3 |3 |book C |3
Grazie tu!
Ho cercato su Google quella domanda esatta e ho trovato diversi colpi in prima pagina che illustrano le differenze. Potrebbe essere stato più veloce di chiedere qui. Ad essere onesti, però, di solito devo rinfrescarmi la memoria quando vado a fare il mio ingresso! – DarinH
"Capisco molto chiaramente, cosa succede quando scrivo una query multitable, ma quando entra in gioco un JOIN, mi sento come se non capissi niente." Eh? un join è sempre in gioco durante la scrittura di query multitable, non stai usando la sintassi di join implicita sei tu (quello con le virgole tra le tabelle)? Se è così, non scrivere mai un altro pezzo di codice usando quella sintassi molto scadente e molto scadente. Se si utilizza quella sintassi scadente, non c'è da meravigliarsi se non si comprendono i join. – HLGEM
HLGEM, perché è obsoleto e povero? –