Clausola FROM
La clausola FROM indica le tabelle che vengono utilizzate nell'istruzione SELECT. Il formato è:
FROM nome_tabella [alias_tabella] [, nome_tabella [alias_tabella]]
nome_tabella è il nome di una tabella nel database corrente. Il nome tabella deve iniziare con un carattere alfabetico. Se il nome tabella non inizia con un carattere alfabetico o contiene un punto (.), racchiuderlo nelle virgolette doppie (identificativo quotato).
alias_tabella può essere utilizzato per assegnare alla tabella un nome più descrittivo, per abbreviare un nome di tabella lungo o per includere la stessa tabella nella query più di una volta (ad esempio, in auto-collegamenti).
I nomi campo iniziano con un carattere alfabetico. Se il nome del campo non inizia con un carattere alfabetico o contiene un punto (.), racchiuderlo nelle virgolette doppie (identificativo quotato).
Davanti ai nomi dei campi possono essere aggiunti il nome della tabella o l'alias della tabella.
Esempio
Nel caso di una tabella FROM dipendente D, è possibile indicare il campo COGNOME come D.COGNOME. Gli alias di tabella devono essere utilizzati se l'istruzione SELECT unisce una tabella a se stessa.
SELECT * FROM dipendente D, dipendente F WHERE D.id_manager = F.id_dipendente
Il segno uguale (=) comprende soltanto le righe corrispondenti nei risultati.
Per unire più di una tabella ed eliminare tutte le righe che non hanno righe corrispondenti in entrambe le tabelle di origine, è possibile usare INNER JOIN.
Esempio
SELECT *
FROM Venditori INNER JOIN Dati_Vendite
ON Venditori.ID_Venditore = Dati_Vendite.ID_Venditore
Per unire due tabelle senza eliminare righe nella prima tabella (quella "a sinistra"), è possibile utilizzare LEFT OUTER JOIN.
Esempio
SELECT *
FROM Venditori LEFT OUTER JOIN Dati_Vendite
ON Venditori.ID_Venditore = Dati_Vendite.ID_Venditore
Ogni riga della tabella "Venditori" viene visualizzata nella tabella unita.
Note
-
RIGHT OUTER JOINnon è attualmente supportato. -
FULL OUTER JOINnon è attualmente supportato.