economia news e media viaggi informatica internet salute e benessere int rattenimento e spettacolo sport tempo libero istruzio ne e formazione arte cultura scienza

SQL

Linguaggio SQL. Quinta parte.

A cura di Andrea Silvestri

Pubblicato il 25/12/2000

In questo quinto intervento si continua a parlare del concetto di join.

E’ possibile rendere piu’ leggibile la select, andando a specificare da che tabella vengono estratte le colonne (in questo caso si tratta solo di leggibilita’ del codice, ma se ci fossero colonne con nome uguale in tabelle differenti saremmo obbligati ad utilizzare questa tecnica):

SELECT IMPIEGATI.nome, IMPIEGATI.cognome,SEDI.citta
FROM IMPIEGATI,SEDI
WHERE IMPIEGATI.sede=SEDI.id;


Per non ripetere il nome delle tabelle si puo’ utilizzare un alias:

SELECT im.nome, im.cognome,se.citta
FROM IMPIEGATI im,SEDI se
WHERE im.sede=se.id;


Attenzione che se si definisce un alias non e’ piu’ possibile utilizzare il nome della tabella, mentre non si e’ obbligati ad utilizzarlo; esempio:

SELECT IMPIEGATI.nome, im.cognome,se.citta
FROM IMPIEGATI im,SEDI se
WHERE im.sede=se.id;


Non e’ corretta, ho utilizzato il nome della tabella al posto dell’alias, mentre la seguente:

SELECT nome, cognome,se.citta
FROM IMPIEGATI im,SEDI se
WHERE im.sede=se.id;


Questa e’ corretta, perche’ non sono obbligato ad utilizzare l’alias.
E se volessi estrarre nome e cognome di tutti i dipendenti e il cognome del superiore di ognuno di essi?
Ho tutte le informazioni che mi servono nella tabella IMPIEGATI, se avessi richiesto il codice del superiore e non il cognome la select sarebbe stata semplicemente:

SELECT nome,cognome,superiore FROM impiegati;

Il cui risultato e’:

NOME COGNOME SUPERIORE
------------------------- ------------------------- ----
MARIO ROSSI
PAOLO VERDI 0001
MARIO BIANCHI 0123

E se fossi interessato al cognome del superiore? A questa domanda rispondo nel prossimo intervento.

Vuoi essere aggiornato sulle novità della guida?

Feed RSS XML vostro feed RSS