.header on
.mode column
CREATE TABLE aziende(
cod_azienda INT PRIMARY KEY,
denominazione CHAR(20) NOT NULL,
indirizzo CHAR(30),
citta CHAR(20),
tel CHAR(15),
settore CHAR(25) NOT NULL
);
CREATE TABLE dipendenti(
matricola CHAR(5) PRIMARY KEY,
cognome CHAR(20) NOT NULL,
nome CHAR(20) NOT NULL,
indirizzo CHAR(30),
citta CHAR(30),
professione CHAR(20) NOT NULL,
reddito_lordo INT,
trattenute INT,
n_familiari INT,
cod_azienda INT REFERENCES aziende(cod_azienda)
);
CREATE TABLE versamenti (
cod_versamento INT PRIMARY KEY,
data_vers DATE,
importo INT,
matricola CHAR(5) REFERENCES dipendenti(matricola)
);
-- Inserimento record tabella aziende
INSERT INTO aziende(cod_azienda, denominazione, indirizzo, citta, tel, settore)
VALUES
(33,'abb sace','via enrico fermi','frosinone','07752971','informatica'),
(22,'haleon','via nettunense','roma','800931556','farmaceutica'),
(44,'tecnofarma','via tumuli','frosinone','0775201364','farmaceutica');
-- Inserimento record tabella dipendenti
INSERT INTO dipendenti(matricola, cognome, nome, indirizzo, citta, professione, reddito_lordo, trattenute, n_familiari, cod_azienda)
VALUES
(007,'patrizio','gianfranchino','via tullio cicerone','frosinone','tecnico informatico',300000,140000,6,33),
(009,'patrizia','fagiolona','via armando fabi','frosinone','ingegnere biomedico',100000,40000,5,44),
(008,'veronica','siffredi','via aldo moro','roma','ingegnere chimico',120000,51000,3,22);
-- Inserimento record tabella versamenti
INSERT INTO versamenti(cod_versamento, data_vers, importo, matricola)
VALUES
(444,'2012-12-22',5000,007),
(555,'2006-09-10',3200,009),
(222,'2008-08-11',1500,008);
--QUERY 13
--Numero dei dipendenti che lavorano in un'azienda di cui si conosce
--la denominzaione
SELECT COUNT(*) AS numero_dei_dipendenti
FROM aziende, dipendenti
WHERE dipendenti.cod_azienda=aziende.cod_azienda
AND denominazione="tecnofarma";
.print
--QUERY 14
--Valore minimo e massimo tra i redditi di tutti i dipendenti
SELECT MIN(reddito_lordo) AS minimmo, MAX (reddito_lordo) AS massimo
FROM dipendenti;
.print
--QUERY 15
--Valore medio dei redditi dei dipendenti con professione prefissata
SELECT AVG(reddito_lordo) AS media
FROM dipendenti
WHERE professione="ingegnere chimico";
.print
--QUERY 16
--Sommma dei versamenti di imposta effettuati dai dipendenti
--di un'azienda di cui si conosce il codice
SELECT SUM(importo) AS somma
FROM versamenti, dipendenti
WHERE versamenti.matricola=dipendenti.matricola
AND cod_azienda=22;
.print
--QUERY 17
--Elenco alfebetico con i dati anagrafici di tutti i dipendenti
SELECT nome, cognome, indirizzo, citta
FROM dipendenti
ORDER BY cognome ASC, nome ASC;
.print
--QUERY 18
--Elenco alfabetico di tutte le aziende
SELECT denominazione
FROM aziende
ORDER BY denominazione ASC;
.print
To embed this project on your website, copy the following code and paste it into your website's HTML: