PDA

View Full Version : [MySql]Come funzionano le 'relazioni'?


RaouL_BennetH
12-04-2007, 20:04
Ciao a tutti :)

Spesso mi trovo a dover fare delle query chilometriche (per mancanza di mia conoscenza ovviamente) perchè non ho ancora capito come funzionano le relazioni.

Per esempio, supponiamo che io abbia 5 tabelle, e in ciascuna delle quali ci sia una colonna ID_Qualcosa, che ha lo stesso identico valore.

Come dico a mysql: prendi i dati da queste 5 tabelle dove ID_Qualcosa è uguale in tutte?

attualmente, io faccio una cosa orrenda, ovvero:



SELECT campo1 FROM tabella1, tabella2, tabella3, tabella4
WHERE tabella1.ID_Qualcosa = tabella2.ID_Qualcosa AND
tabella1.ID_Qualcosa = tabella3.ID_Qualcosa .... etcetera...



Grazie mille :)

RaouL.

misterx
12-04-2007, 20:40
indaga sulla NATURAL JOIN ( esiste in MySQL ???) che se non ricordo male i passaggi che fa sono questi:

- prodotto cartesiano
- selezione delle tuple con l'attributo uguale (nel tuo caso allinea tutte le ID_Qualcosa di tutte le tue tabelle)
- eliminazione delle tuple identiche