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