Le operazioni in query SQL
1. Inserimento dei dati di un fornitore
INSERT INTO FORNITORE VALUES (matricola,cognome,nome,codice_fiscale);
2. Associare un nuovo distributore ad un cliente
INSERT INTO NOLEGGIO VALUES (matricola_distributore, cf_piva_cliente, canone, SYSDATE);
3. Elenco dei distributori noleggiati ad un cliente
SELECT N.DISTRIBUTORE, N.CANONE, N.DATA
FROM NOLEGGIO N
WHERE N.CLIENTE = cf_piva_cliente
4. Elenco dei distributori non noleggiati
SELECT DISTINCT MATRICOLA, MODELLO, TIPO
FROM DISTRIBUTORE
WHERE MATRICOLA Not In (Select DISTRIBUTORE from NOLEGGIO);
5. Elenco dei prodotti offerti da un distributore
SELECT P.CODICE, P.DESCRIZIONE, O.PEZZI, O.PREZZO
FROM PRODOTTO AS P, OFFERTA AS O
WHERE P.CODICE = O.PRODOTTO AND
O.DISTRIBUTORE = matricola_distributore;
6. Elenco di tutti i prodotti compatibili per un distributore
SELECT P.CODICE, P.DESCRIZIONE
FROM PRODOTTO AS P, DISTRIBUTORE AS D
WHERE D.TIPO = P.COMPATIBILE AND
D.MATRICOLA = DISTRIBUTORE;
7. Calcola l'incasso di un periodo
SELECT SUM(INCASSO)
FROM INTERVENTO
WHERE DATA >= data_inizio AND DATA <= data_fine;
8. Elenco degli interventi di manutenzioni operati da un fornitore
SELECT INTERVENTO.PROGRESSIVO AS INTERVENTO,
INTERVENTO.DISTRIBUTORE,
MANUTENZIONE.DESCRIZIONE,
SOSTITUZIONE.RICAMBIO,
SOSTITUZIONE.PEZZI
FROM
INTERVENTO LEFT JOIN
(MANUTENZIONE LEFT JOIN SOSTITUZIONE ON MANUTENZIONE.PROGRESSIVO = SOSTITUZIONE.MANUTENZIONE)
ON INTERVENTO.PROGRESSIVO = MANUTENZIONE.INTERVENTO
WHERE INTERVENTO.FORNITORE = MatricolaFornitore
9. Elenco degli interventi di rifornimento operati da un fornitore
SELECT INTERVENTO.PROGRESSIVO AS INTERVENTO,
INTERVENTO.DISTRIBUTORE,
RIFORNIMENTO.PEZZI,
OFFERTA.PRODOTTO
FROM
INTERVENTO LEFT JOIN (RIFORNIMENTO LEFT JOIN OFFERTA ON RIFORNIMENTO.OFFERTA = OFFERTA.PROGRESSIVO)
ON INTERVENTO.PROGRESSIVO = RIFORNIMENTO.INTERVENTO
WHERE INTERVENTO.FORNITORE = MatricolaFornitore
10. Elenco dei distributori che hanno subito una manutenzione nello stesso periodo
SELECT I.DISTRIBUTORE, M.DESCRIZIONE, S.PEZZI, S.RICAMBIO
FROM INTERVENTO AS I, MANUTENZIONE AS M, SOSTITUZIONE AS S
WHERE
I.PROGRESSIVO = M.INTERVENTO AND
M.PROGRESSIVO = S.MANUTENZIONE AND
I.DATA >= data_inizio AND I.DATA <= data_fine;
Torna all'indice