Il 0% ha trovato utile questo documento (0 voti)
13 visualizzazioni3 pagine

Codice SQL Multe

Caricato da

corbari22842
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato TXT, PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
13 visualizzazioni3 pagine

Codice SQL Multe

Caricato da

corbari22842
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato TXT, PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 3

CREATE SCHEMA comune_multe;

CREATE TABLE tipo_multa(


codice int AUTO_INCREMENT PRIMARY KEY,
descrizione varchar(100),
importo float)

CREATE TABLE agente(


id int AUTO_INCREMENT PRIMARY KEY,
nome varchar(100),
cognome varchar(100),
sesso enum('F','M'),
nascita date)

CREATE TABLE automobile(


id int AUTO_INCREMENT PRIMARY KEY,
marca varchar(100),
modello varchar(100),
targa varchar(100)
id_proprietario int, FOREIGN KEY (id_proprietario) REFERENCES proprietario(id))

CREATE TABLE proprietario(


id int AUTO_INCREMENT PRIMARY KEY,
nome varchar(100),
cognome varchar(100),
sesso enum('F','M'),
nascita date)

CREATE TABLE multa(


id_tipo_multa int, FOREIGN KEY (id_tipo_multa) REFERENCES tipo_multa(codice),
id_agente int, FOREIGN KEY (id_agente) REFERENCES agente(id),
id_auto int, FOREIGN KEY (id_auto) REFERENCES automobile(id),
data date)

INSERT INTO agente (nome,cognome,sesso,nascita) VALUES


('Fabrizio','Rossi','M','1999-08-04'),
('Rosa','Merli','F','1987-02-27'),
('Giacomo','Miccoli','M','1995-11-18'),
('Beatrice','Bianchi','F','2000-06-30')

INSERT INTO automobile (marca,modello,targa,id_propietario) VALUES


('Toyota','Yaris','AB123CD',1),
('Volkswagen','Golf','EF456GH',2),
('Ford','Fiesta','IJ789KL',3),
('Renault','Captur','MN101OP',4),
('Fiat','500','QR202ST',5),
('BMW','Series 3','UV303WX',6),
('Honda','Jazz','DR604VF',7),
('Skoda','Scala','HG945YT',8)

INSERT INTO tipo_multa (descrizione,importo) VALUES


('Eccesso di velocita','170'),
('Divieto di sosta','45'),
('Uso del cellulare alla guida','220'),
('Guida senza cintura di sicurezza','60'),
('Guida pericolosa','200')
INSERT INTO proprietario(nome,cognome,sesso,nascita) VALUES
('Giuseppe','Bianchi','M','1993-08-12'),
('Anna','Rossi','F','1985-05-25'),
('Mario','Verdi','M','1979-11-03'),
('Elena','Ferrari','F','1990-04-17'),
('Luigi','Russo','M','1982-09-21'),
('Giovanna','Gallo','F','1998-12-07'),
('Dario','Grassi','M','2000-08-01'),
('Alessandro','Biaggini','M','2001-12-25')

INSERT INTO multa(id_tipo_multa,id_agente,id_auto,data) VALUES


(1,1,1,'2023-12-29'),
(3,2,7,'2024-03-22'),
(4,1,3,'2024-05-01'),
(2,4,6,'2024-01-30'),
(5,3,2,'2024-02-21'),
(1,3,4,'2023-11-27'),
(2,4,8,'2024-04-18'),
(3,2,5,'2024-12-30'),
(4,3,1,'2024-04-11'),
(5,1,7,'2024-01-08')

SELECT multa.data, tipo_multa.descrizione,agente.nome,agente.cognome


FROM multa
INNER JOIN tipo_multa ON multa.id_tipo_multa=tipo_multa.codice
INNER JOIN agente ON multa.id_agente=agente.id
WHERE multa.data BETWEEN '2024-01-01' AND '2024-12-31'

SELECT tipo_multa.descrizione,COUNT(*) AS numero_multe


FROM multa
INNER JOIN tipo_multa ON multa.id_tipo_multa=tipo_multa.codice
GROUP BY tipo_multa.descrizione

SELECT agente.nome,agente.cognome,COUNT(*) AS numero_contravvenzioni


FROM agente
JOIN multa ON agente.id=multa.id_agente
WHERE multa.data BETWEEN '2023-11-26' AND '2024-02-10'
GROUP BY agente.nome,agente.cognome
ORDER BY COUNT(*) DESC
LIMIT 1

SELECT multa.data,tipo_multa.descrizione,agente.nome,agente.cognome
FROM proprietario
JOIN automobile ON proprietario.id=automobile.id_proprietario
JOIN multa ON automobile.id=multa.id_auto
JOIN tipo_multa ON multa.id_tipo_multa=tipo_multa.codice
JOIN agente ON multa.id_agente=agente.id
WHERE proprietario.nome='luigi'

SELECT automobile.marca,automobile.modello,COUNT(multa.id_auto) AS
numero_contravvenzioni, SUM(tipo_multa.importo) AS importo_totale
FROM automobile
INNER JOIN multa ON automobile.id=multa.id_auto
INNER JOIN tipo_multa ON multa.id_tipo_multa=tipo_multa.codice
GROUP BY automobile.marca,automobile.modello

Potrebbero piacerti anche