Angiolina85’s Weblog

Just another WordPress.com weblog

Esercitazioni SQL: Query semplici e Join in ACCESS Dicembre 8, 2008

Archiviato in: Uncategorized — angiolina85 @ 10:23 am

Poniamo il caso di aver costruito in Access le seguenti tabelle, riguardanti le generalità degli impegati nell’impresa di distribuzione “Mail Boxes” e i dati relativi alla loro busta paga (rispettivamente le tabelle sono Mail boxes e Retribuzione:


  

mail boxes
cognome impegato nome impiegato ID
Aloi Jacopo 1
Bianchi Stefano 2
Frattigiani Luigi 3
Miccoli Leonardo 4
Pratesi Riccardo 5
Rossi Michele 6
Salvi Angelo 7
Sermonti Alfonso 8

  


 

  

retribuzione
tipo di contratto retribuzione netta numero ore straordinario ID
Full time 1300 2 1
Part time 600 2 2
Part time 600 3 3
Part time 700 3 4
Part time 500 3 5
Full Time 1200 4 6
Full time 1300 4 7
Part time 400 5 8

vogliamo chiedere al sistema, con SQL, di visualizzare solo la colonna dei cognomi degli impiegati presso Mail Boxes, dunque creiamo una semplice query:

SELECT [mail boxes].[cognome impegato]
FROM [mail boxes];

il risultato della nostra query sarà il seguente:


  

mail boxes Query
cognome impegato
Aloi
Bianchi
Frattigiani
Miccoli
Pratesi
Rossi
Salvi
Sermonti

ora invece vogliamo ottenere delle informazioni da entrambe le tabelle, e per fare ciò costruiremo una Join, ossia un’unione tra le due tabelle. Vogliamo sapere, infatti, quali sono gli impegati che hanno un contratto full time, perciò scriveremo:

SELECT [mail boxes].[cognome impegato], retribuzione.[tipo di contratto]
FROM [mail boxes] INNER JOIN retribuzione ON [mail boxes].ID = retribuzione.[tipo di contratto]
WHERE ((”tipo di contratto”=”full time”));

otterremo il seguente risultato:

mail boxes Query1

ID cognome impiegato tipo di contratto
1 Aloi full time
6 Rossi full time
7 Salvi full time

 

Di fondamentale importanza in un DBMS relazionale è il CAMPO CHIAVE, un codice che accomuna tabelle diverse per agganciare i dati che si ripresentano in esse, al fine di poter creare delle Join.

 

Leave a Reply