![]() | ![]() |
|
|
"Relazione di Informatica"
Introduzione:
Query:
Per Query si intende un'interrogazione sui dati presenti in un database.I dati che forniscono la risposta alla domanda definita dalla query possono provenire da una o più tabelle;inoltre,i dati prodotti da una query sono organizzati secondo lo schema di una tabella e possono,a loro volta,essere oggetto di ulteriori interrogazioni.
Linguaggio SQL:
Il linguaggio SQL è un linguaggio non procedurale che è diventato uno standard tra i linguaggi per la gestione di database relazionali.Il medesimo linguaggio permette ad un utente di porre interrogazioni al database (funzioni di Query Lenguage).
Con il comando SELECT: vengono attivate le interrogazioni sulle relazioni e le operazioni relazionali per ottenere nuove tabelle.
Esempio: estrarre il valore del saldo del conto corrente numero 2
SELECT saldo
FROM conto_corrente
WHERE numero_cc = 2
Operazioni con SQL:
SELEZIONE: consente di ricavare da una relazione un'altra relzione contenente solo le riche e che soddisfano a una certa condizione.
PROIEZIONE permette di ottenere una relazione contenente solo alcuni attributi della relazione di partenza.
CONGIUNZIONE: permette di possedere a due tabelle un attributo comune.
INNER JOIN: con le tabelle Azienda e Dipendenti si possono selezionare tutti i dipendenti di ciascuna azienda. Al contrario, per selezionare tutte le aziende , anche se alcuni non hanno dipendenti, oppure per selezionare tutti i dipendenti, anche se alcuni non sono assegnati a una azienda, è possibile utilizzare l'operazione LEFT JOIN o RIGHT JOIN per creare un join esterno.
AS: il comando AS si usa se si vuole dare un nuovo nome ad una tabella,quindi scriviamo prima il nome originale della tabella poi la parola AS e dopo il nuovo nome da dare alla tabella.
Funzioni SQL:
COUNT: conta il numero di righe selezionate dall'interrogazi one. Oppure la stessa funzione si può avere nella versione COUNT(DISTINCT x), che consente di ottenere il numero dei valori diversi tra loro nella colonna x che soddisfano alla condizione scritta dopo Where.
SUM: restituisce la somma di tutti i valori contenuti in una colonna specifica come argomento della funzione,la medesima funzione può anche essere utilizzata con la parola Distinct.
AVG: serve per calcolare la media dei valori (numerici) contenuti in una determinata colonna di una tabella,con l'eventuale aggiunta dell'opzione Distinct. La media calcolata da tale funzione equivale alla media aritmetica,cioè la somma dei valori diviso il numero degli elementi.
MIN e MAX: restituiscono rispettivamente il valore minimo e il valore massimo tra i valori della colonna di una tabella specificata come argomento della funzione.
Clausole SQL:
ORDER BY: serve per ottenere i risultati di un'interrogazione ordinati secondo i valori contenuti in una o più colonne,tra quelle elencate accanto alla parola Select.
GROUP BY: permette di raggruppare un insieme di righe aventi lo stesso valore nelle colonne indicate dalla clausola,essa produce una riga di risultati per ogni raggruppamento.
HAVING: è possibile sottoporre al controllo di una o più condizioni i gruppi creati con la clausola Group by. Essa visualizza le sole righe di raggruppamento che soddisfano alle condizioni scritte accanto a Having.
Operatori SQL:
BETWEEN: controlla se è compreso all'interno di un intervallo di valori, inclusi gli estremi.
IN: controlla se un valore appartiene a uno dei valori di una lista che viene precisata dopo la parola In all'interno della condizione.
LIKE: confronta il valore di un attributo di tipo carattere con un modello di stringa che può contenere caratteri Jolly(_ %).
TABELLE
AZIENDA |
||||
Denominazione |
Indirizzo |
Settore di attività |
Codice azienda |
Comune |
Giga |
Via Monticelli |
Informatica |
Z001 |
Salerno |
Elettronix |
Piazza della repubblica |
Elettronica |
Z002 |
Roma |
Salvati motors |
via rosso |
Automobilistico |
Z003 |
Napoli |
Vertuccio s.r.l. |
Via Zambrano |
Automobilistico |
Z004 |
Portici |
Alimenti e alimenti |
Via Zambano |
Alimentare |
Z005 |
Positano |
Genovese |
Via Laspro |
Abbigliamento |
Z006 |
Salerno |
Maxi store |
Via San Leonardo |
Abbigliamento |
Z007 |
Salerno |
DIPENDENTE |
|||||||
Nome |
Cognome |
Indirizzo |
Reddito annuo lordo |
N° Familiari a carico |
Matricola |
Professione |
Azienda Appartenente |
Marco |
Chiariello |
Via mia |
|
|
P001 |
Tecnico |
Z002 |
Carlo |
Botta |
Via Rosi |
|
|
P002 |
Giardiniere |
Z001 |
Gerardo |
Russo |
Via 23 settembre |
|
|
P003 |
Pilota |
Z002 |
Angelo |
Angelucci |
Via Milano |
14000 242j91c |
|
P004 |
Tecnico |
Z002 |
Giovanni |
Ricciardi |
Via Napoli |
|
|
P005 |
Assistente |
Z001 |
Andrea |
Del Piero |
Via Zambrano |
|
|
P006 |
Operaio |
Z004 |
Raffaele |
Cataldo |
Via Napoli |
|
|
P007 |
Elettrauto |
Z004 |
Michele |
Riganò |
Via Vittoria |
|
|
P008 |
Operaio |
Z004 |
Alfonso |
Carminu |
Via Roma |
14000 242j91c |
|
P009 |
Meccanico |
Z003 |
Gaetano |
Scarpa |
Via dei mille |
|
|
P010 |
Carrozziere |
Z003 |
Salvatore |
Aliberti |
Via Vittorio Emanuele |
|
|
P011 |
Imprenditore |
Z005 |
Vincenzo |
Senatore |
Via Torello |
|
|
P012 |
Avvocato |
Z005 |
VERSAMENTI |
|||
Stipendio |
Codice versamento |
Codice azienda |
Data |
|
P001 |
Z001 |
|
|
P002 |
Z002 |
|
|
P003 |
Z001 |
|
|
P004 |
Z002 |
|
|
P005 |
Z002 |
|
|
P006 |
Z004 |
|
|
P007 |
Z004 |
|
|
P008 |
Z004 |
|
|
P009 |
Z003 |
|
|
P010 |
Z003 |
|
|
P011 |
Z005 |
|
|
P012 |
Z005 |
|
Visualizzazione SQL:
3° QUERY
SELECT Dipendente.Matricola, Dipendente.Cognome, Dipendente.Nome, Dipendente.Professione, Dipendente.[Reddito annuo lordo]
FROM Dipendente;
Query 3 |
||||
Matricola |
Cognome |
Nome |
Professione |
Reddito annuo lordo |
P001 |
Chiariello |
Marco |
Tecnico |
|
P002 |
Botta |
Carlo |
Giardiniere |
|
P003 |
Russo |
Gerardo |
Pilota |
|
P004 |
Angelucci |
Angelo |
Tecnico |
14000 242j91c |
P005 |
Ricciardi |
Giovanni |
Assistente |
|
P006 |
Del Piero |
Andrea |
Operaio |
|
P007 |
Cataldo |
Raffaele |
Barista |
|
P008 |
Riganò |
Michele |
Operaio |
|
P009 |
Carminu |
Alfonso |
Meccanico |
14000 242j91c |
P010 |
Scarpa |
Gaetano |
Carrozziere |
|
P011 |
Aliberti |
Salvatore |
Imprenditore |
|
P012 |
Senatore |
Vincenzo |
Avvocato |
|
4°QUERY
SELECT denominazione, indirizzo, [codice azienda]
FROM Azienda
WHERE [codice azienda]="Z001";
Query 4 |
||
denominazione |
indirizzo |
codice azienda |
Giga |
Via Monticelli |
Z001 |
5°QUERY
SELECT Dipendente.Cognome, Dipendente.Nome, Dipendente.[Reddito annuo lordo] FROM Dipendente
WHERE (((Dipendente.[Reddito annuo lordo])>="14000 242j91c "));
Query 5 |
||
cognome |
nome |
reddito annuo lordo |
Chiariello |
Marco |
|
Botta |
Carlo |
|
Angelucci |
Angelo |
14000 242j91c |
Ricciardi |
Giovanni |
|
Del Piero |
Andrea |
|
Cataldo |
Raffaele |
|
Carminu |
Alfonso |
14000 242j91c |
Scarpa |
Gaetano |
|
Aliberti |
Salvatore |
|
Senatore |
Vincenzo |
|
6°QUERY
SELECT Denominazione, Indirizzo, Comune
FROM Azienda
WHERE Comune="Salerno";
Query 6 |
||
Denominazione |
Indirizzo |
Comune |
Giga |
Via Monticelli |
Salerno |
Genovese |
xg |
Salerno |
Maxi store |
Via San Leonardo |
Salerno |
7°QUERY
SELECT Dipendente.Cognome, Dipendente.Nome, Dipendente.Professione, Dipendente.[Reddito annuo lordo]
FROM Dipendente
WHERE (((Dipendente.Professione)="Tecnico") AND ((Dipendente.[Reddito annuo lordo])>="10000"));
Query 7 |
|||
Cognome |
Nome |
Professione |
Reddito annuo lordo |
Chiariello |
Marco |
Tecnico |
|
Angelucci |
Angelo |
Tecnico |
14000 242j91c |
8°QUERY
SELECT Cognome, Nome, Professione, Denominazione
FROM Dipendente, Azienda
WHERE Denominazione="Giga" And Professione="Tecnico";
Query 8 |
|||
Cognome |
Nome |
Professione |
Denominazione |
Chiariello |
Marco |
Tecnico |
Giga |
Angelucci |
Angelo |
Tecnico |
Giga |
9°QUERY
SELECT Dipendente.Professione, Azienda.[Codice azienda]
FROM Azienda INNER JOIN Dipendente ON Azienda.[Codice azienda] = Dipendente.[Azienda Appartenente]
WHERE (((Azienda.[Codice azienda])="Z001"));
Query 9 |
|
Professione |
Codice azienda |
Giardiniere |
Z001 |
Assistente |
Z001 |
10°QUERY
SELECT DISTINCT Dipendente.Professione, Versamenti.Stipendio
FROM Dipendente INNER JOIN Versamenti ON Dipendente.Matricola = Versamenti.[Codice versamento]
WHERE (((Versamenti.Stipendio)="1000"));
Query 10 |
|
Professione |
Stipendio |
Giardiniere |
|
11°QUERY
SELECT Dipendente.Cognome, Dipendente.Nome, [Versamenti].Data
FROM Dipendente INNER JOIN Versamenti ON Dipendente.Matricola=[Versamenti].[Codice versamento]
GROUP BY Dipendente.Cognome, Dipendente.Nome, [Versamenti].Data, [Versamenti].[Codice versamento], Dipendente.[Azienda Appartenente]
HAVING (((Dipendente.[Azienda Appartenente])="Z003"));
Query 11 |
||
Cognome |
Nome |
Data |
Carminu |
Alfonso |
|
Scarpa |
Gaetano |
|
12°QUERY
SELECT Dipendente.Professione, ((Dipendente.[Reddito annuo Lordo]*20/100)) AS Imposta, Dipendente.Nome, Dipendente.Cognome
FROM Dipendente
GROUP BY Dipendente.Professione, Dipendente.Nome, Dipendente.Cognome, Dipendente.[Reddito annuo lordo]
HAVING (((Dipendente.Professione)="Tecnico"));
Query 12 |
|||
Professione |
Imposta |
Nome |
Cognome |
Tecnico |
|
Angelo |
Angelucci |
Tecnico |
|
Marco |
Chiariello |
13°QUERY
SELECT Count(Cognome) AS [Numero dipendenti della Giga]
FROM Dipendente
WHERE (((Dipendente.[Azienda Appartenente])="Z001"));
Query 13 |
Numero dipendenti della Giga |
|
14°QUERY
SELECT Min(Stipendio) AS Minimo, Max(Stipendio) AS Massimo
FROM VERSAMENTI
Query 14 |
|
Minimo |
Massimo |
|
|
15°QUERY
SELECT Avg(Stipendio) AS Medio
FROM VERSAMENTI, Dipendente
WHERE Professione="Tecnico";
Query 15 |
Medio |
|
16°QUERY
SELECT Count(Stipendio) AS [Numero Versamenti]
FROM VERSAMENTI, Azienda
WHERE (((Azienda.[Codice azienda])="Z001"));
Query 16 |
Numero Versamenti |
|
17°QUERY
SELECT Dipendente.Cognome, Dipendente.Nome, Dipendente.Indirizzo
FROM Dipendente
ORDER BY Dipendente.Cognome;
Query 17 |
||
Cognome |
Nome |
Indirizzo |
Aliberti |
Salvatore |
Via Vittorio Emanuele |
Angelucci |
Angelo |
Via Milano |
Botta |
Carlo |
Via Rosi |
Carminu |
Alfonso |
Via Roma |
Cataldo |
Raffaele |
Via Napoli |
Chiariello |
Marco |
Via mia |
Del Piero |
Andrea |
Via Zambrano |
Ricciardi |
Giovanni |
Via Napoli |
Riganò |
Michele |
Via Vittoria |
Russo |
Gerardo |
Via 23 settembre |
Scarpa |
Gaetano |
Via dei mille |
Senatore |
Vincenzo |
Via Torello |
18°QUERY
SELECT Denominazione, Indirizzo
FROM Azienda
ORDER BY [Denominazione]
Query 18 |
|
Denominazione |
Indirizzo |
Alimenti e alimenti |
Via Zambano |
Elettronix |
Piazza della repubblica |
Genovese |
xg |
Giga |
Via Monticelli |
Maxi store |
Via San Leonardo |
Salvati motors |
via rosso |
Vertuccio s.r.l. |
Via Zambrano |
19°QUERY
SELECT Dipendente.Cognome, Dipendente.Nome, Dipendente.Indirizzo, Dipendente.[Reddito annuo lordo], (Dipendente.[Reddito annuo lordo]-((Dipendente.[Reddito annuo lordo]*20)/100)) AS RedditoNetto
FROM Dipendente
ORDER BY Dipendente.Cognome;
Query 19 |
||||
Cognome |
Nome |
Indirizzo |
Reddito annuo lordo |
RedditoNetto |
Aliberti |
Salvatore |
Via Vittorio Emanuele |
|
14000 242j91c |
Angelucci |
Angelo |
Via Milano |
14000 242j91c |
|
Botta |
Carlo |
Via Rosi |
|
|
Carminu |
Alfonso |
Via Roma |
14000 242j91c |
|
Cataldo |
Raffaele |
Via Napoli |
|
|
Chiariello |
Marco |
Via mia |
|
|
Del Piero |
Andrea |
Via Zambrano |
|
|
Ricciardi |
Giovanni |
Via Napoli |
|
|
Riganò |
Michele |
Via Vittoria |
|
|
Russo |
Gerardo |
Via 23 settembre |
|
|
Scarpa |
Gaetano |
Via dei mille |
|
|
Senatore |
Vincenzo |
Via Torello |
|
|
20°QUERY
SELECT Azienda.Denominazione, Dipendente.Nome, Dipendente.Cognome, (Dipendente.[N° Familiari a carico]*10) AS Detrazione
FROM Azienda INNER JOIN Dipendente ON Azienda.[Codice azienda]=Dipendente.[Azienda Appartenente]
GROUP BY Azienda.Denominazione, Dipendente.Nome, Dipendente.Cognome, Dipendente.[N° Familiari a carico];
Query 20 |
|||
Denominazione |
Nome |
Cognome |
Detrazione |
Alimenti e alimenti |
Salvatore |
Aliberti |
|
Alimenti e alimenti |
Vincenzo |
Senatore |
|
Elettronix |
Angelo |
Angelucci |
|
Elettronix |
Gerardo |
Russo |
|
Elettronix |
Marco |
Chiariello |
|
Giga |
Carlo |
Botta |
|
Giga |
Giovanni |
Ricciardi |
|
Salvati motors |
Alfonso |
Carminu |
|
Salvati motors |
Gaetano |
Scarpa |
|
Vertuccio s.r.l. |
Andrea |
Del Piero |
|
Vertuccio s.r.l. |
Michele |
Riganò |
|
Vertuccio s.r.l. |
Raffaele |
Cataldo |
|
21°QUERY
SELECT Dipendente.Cognome, Dipendente.Nome, Azienda.Indirizzo
FROM Dipendente, Azienda
WHERE (((Dipendente.[Azienda Appartenente])=[Codice azienda]))
ORDER BY Dipendente.Cognome;
Query 21 |
||
Cognome |
Nome |
Indirizzo |
Aliberti |
Salvatore |
Via Zambano |
Angelucci |
Angelo |
Piazza della repubblica |
Botta |
Carlo |
Via Monticelli |
Carminu |
Alfonso |
via rosso |
Cataldo |
Raffaele |
Via Zambrano |
Chiariello |
Marco |
Piazza della repubblica |
Del Piero |
Andrea |
Via Zambrano |
Ricciardi |
Giovanni |
Via Monticelli |
Riganò |
Michele |
Via Zambrano |
Russo |
Gerardo |
Piazza della repubblica |
Scarpa |
Gaetano |
via rosso |
Senatore |
Vincenzo |
Via Zambano |
22°QUERY
SELECT Azienda.Denominazione, Dipendente.Nome, Dipendente.Cognome, Dipendente.[Reddito annuo lordo], Dipendente.[Totale trattenute effettuate] AS Espr1
FROM Azienda INNER JOIN Dipendente ON Azienda.[Codice azienda] = Dipendente.[Azienda Appartenente]
WHERE (((Azienda.[Codice azienda])="Z001"));
Query 22 |
||||
Denominazione |
Nome |
Cognome |
Reddito annuo lordo |
Espr1 |
Giga |
Carlo |
Botta |
|
|
Giga |
Giovanni |
Ricciardi |
|
|
23°QUERY
SELECT Azienda.Denominazione, Count(Dipendente.[Azienda Appartenente]) AS [Totale Dipendenti], Sum(Dipendente.[Reddito annuo lordo]) AS [Somma Dei Redditi]
FROM Azienda INNER JOIN Dipendente ON Azienda.[Codice azienda] = Dipendente.[Azienda Appartenente]
GROUP BY Azienda.Denominazione, Azienda.[Codice azienda];
Query 23 |
||
Denominazione |
Totale Dipendenti |
Somma Dei Redditi |
Alimenti e alimenti |
|
|
Elettronix |
|
|
Giga |
|
|
Salvati motors |
|
|
Vertuccio s.r.l. |
|
|
24°QUERY
SELECT Azienda.Denominazione, Avg(Dipendente.[Reddito annuo lordo]) AS [MediaDiReddito annuo lordo], Dipendente.Professione
FROM Azienda INNER JOIN Dipendente ON Azienda.[Codice azienda] = Dipendente.[Azienda Appartenente]
GROUP BY Azienda.Denominazione, Dipendente.Professione
HAVING (((Dipendente.Professione)="Tecnico"));
Query 24 |
||
Denominazione |
Media DiReddito annuo lordo |
Professione |
Elettronix |
|
Tecnico |
25°QUERY
SELECT Azienda.Denominazione, Avg(Dipendente.[Totale trattenute effettuate]) AS [Media trattenute effettuate]
FROM Azienda INNER JOIN Dipendente ON Azienda.[Codice azienda]=Dipendente.[Azienda Appartenente]
GROUP BY Azienda.Denominazione;
Query 25 |
|
Denominazione |
Media trattenute effettuate |
Alimenti e alimenti |
|
Elettronix |
|
Giga |
|
Salvati motors |
|
Vertuccio s.r.l. |
|
26°QUERY
SELECT Dipendente.Professione, Avg(Dipendente.[Reddito annuo lordo]) AS [MediaDiReddito annuo lordo]
FROM Dipendente
GROUP BY Dipendente.Professione
HAVING (((Avg(Dipendente.[Reddito annuo lordo]))>"12000"));
Query 26 |
|
Professione |
MediaDiReddito annuo lordo |
Assistente |
|
Avvocato |
|
Barista |
|
Carrozziere |
|
Giardiniere |
|
Imprenditore |
|
Meccanico |
14000 242j91c |
Operaio |
|
Pilota |
|
Tecnico |
|
27°QUERY
SELECT Cognome, Nome
FROM dipendente
WHERE [Azienda appartenente] in ([codice1],[codice2],[codice3]);
Query 27 |
|
Cognome |
Nome |
Chiariello |
Marco |
Botta |
Carlo |
Russo |
Gerardo |
Angelucci |
Angelo |
Ricciardi |
Giovanni |
Carminu |
Alfonso |
Scarpa |
Gaetano |
28°QUERY
SELECT Dipendente.Nome, Dipendente.Cognome, Dipendente.Professione
FROM Dipendente
WHERE (((Dipendente.Professione)<>"Dottore" Or (Dipendente.Professione)<>"Impiegato"));
Query 28 |
||
Nome |
Cognome |
Professione |
Marco |
Chiariello |
Tecnico |
Carlo |
Botta |
Giardiniere |
Gerardo |
Russo |
Pilota |
Angelo |
Angelucci |
Tecnico |
Giovanni |
Ricciardi |
Assistente |
Andrea |
Del Piero |
Operaio |
Raffaele |
Cataldo |
Barista |
Michele |
Riganò |
Operaio |
Alfonso |
Carminu |
Meccanico |
Gaetano |
Scarpa |
Carrozziere |
Salvatore |
Aliberti |
Imprenditore |
Vincenzo |
Senatore |
Avvocato |
30°QUERY
SELECT Dipendente.Cognome, Dipendente.Nome, Dipendente.Professione, Dipendente.[Reddito annuo lordo]
FROM Dipendente
WHERE (((Dipendente.[Reddito annuo lordo]) Between "10000" And "14000 242j91c "));
Query 30 |
|||
Cognome |
Nome |
Professione |
Reddito annuo lordo |
Russo |
Gerardo |
Pilota |
|
Angelucci |
Angelo |
Tecnico |
14000 242j91c |
Riganò |
Michele |
Operaio |
|
Carminu |
Alfonso |
Meccanico |
14000 242j91c |
31°QUERY
SELECT Dipendente.Professione, Azienda.[Settore di attività], Count((Dipendente.Professione)) AS numero
FROM Azienda INNER JOIN Dipendente ON Azienda.[Codice azienda] = Dipendente.[Azienda Appartenente]
GROUP BY Dipendente.Professione, Azienda.[Settore di attività], Dipendente.[Azienda Appartenente]
HAVING (((Azienda.[Settore di attività]) Like "automobilistico"));
Query 31 |
||
Professione |
Settore di attività |
numero |
Barista |
Automobilistico |
|
Carrozziere |
Automobilistico |
|
Meccanico |
Automobilistico |
|
Operaio |
Automobilistico |
|
32°QUERY
SELECT dipendente.Nome, dipendente.Cognome, dipendente.[Reddito annuo lordo]
FROM dipendente
WHERE dipendente.[reddito annuo lordo]= ((Select( max(Dipendente.[Reddito annuo lordo])) from Dipendente));
Query 32 |
||
Nome |
Cognome |
Reddito annuo lordo |
Carlo |
Botta |
|
Vincenzo |
Senatore |
|
33°QUERY
SELECT dipendente.Nome, dipendente.Cognome, dipendente.[Reddito annuo lordo], dipendente.Professione
FROM dipendente
WHERE (((dipendente.[Reddito annuo lordo])=((Select( min(Dipendente.[Reddito annuo lordo])) from Dipendente))) AND ((dipendente.Professione)="Operaio"));
Query 33 |
|||
Nome |
Cognome |
Reddito annuo lordo |
Professione |
Michele |
Riganò |
|
Operaio |
34°QUERY
SELECT Azienda.Denominazione, Avg((Dipendente.[Reddito annuo lordo])) AS [Reddito Medio]
FROM Azienda INNER JOIN Dipendente ON Azienda.[Codice azienda] = Dipendente.[Azienda Appartenente]
GROUP BY Azienda.Denominazione;
Query 34 |
|
Denominazione |
Reddito Medio |
Alimenti e alimenti |
|
Elettronix |
14000 242j91c |
Giga |
|
Salvati motors |
|
Vertuccio s.r.l. |
|
Privacy |
Articolo informazione
Commentare questo articolo:Non sei registratoDevi essere registrato per commentare ISCRIVITI |
Copiare il codice nella pagina web del tuo sito. |
Copyright InfTub.com 2025