Cito:
"Nella clausola where possono comparire più istanze della stessa tabella mediante gli alias".
Esempio:
SELECT Nome
FROM GENITORI, GENITORI
WHERE (GENITORI.NOME=GENITORI.NOMEGEN)
La riga in rosso è un errore.
La mia domanda è: perché nella FROM il nome della stessa tabella andrebbe due volte?
La versione corretta della query di cui sopra sarebbe:
SELECT G2.NOMEGN, G2.COGNOMEGEN
FROM GENITORI AS G1, GENITORI AS G2
WHERE (G1.NOMEGEN=G2.NOME) AND (G1.COGNOMEGEN=G2.COGNOME) AND (G1.NOME="MATTEO") AND (G1.COGNOME="BIANCHI")
Cioè questa query mi estrae il nome dei genitori di Matteo Bianchi in una tabella in cui ci sono due Matteo Bianchi (ma con genitori diversi).
In generale, a parte un caso come questo, gli alias a cosa servono? Cioè a cosa mi serve ad esempio fare:
SELECT NONNI AS N1 (esempio a caso)
se la tabella (attributo se risultato singolo) dei risultati è una tabella temporanea, perché dovrei darle un nome?
Non capisco molto bene questa cosa...
Grazie!