Home • ECDL • Algoritmi • Java • Basi di dati • Seconda prova • Eccetera • Cerca nel sito

Diplomati

Precedente
SUPERIORE
Successiva
Tratto da: AA. VV. INFORMATICA 3 - Zanichelli

Schema E/R

o meglio

Schema relazionale

ANAGRAFE(Matricola, Cognome, Nome, [Data di nascita], Indirizzo, Cap, Cittā, Telefono)
DIPLOMATO(Matricola, Sezione, [Indirizzo di studio], Voto, Anno)

Diplomato.Matricola č chiave esterna collegata a Anagrafe.Matricola

Query

Matricole e voti

SELECT Matricola, Voto
FROM DIPLOMATO;

Cognomi e voti

SELECT Cognome, Voto
FROM ANAGRAFE, DIPLOMATO;
SELECT Cognome, Voto
FROM ANAGRAFE, DIPLOMATO
WHERE (ANAGRAFE.Matricola = DIPLOMATO.Matricola);
SELECT Cognome, Voto
FROM ANAGRAFE INNER JOIN DIPLOMATO ON (ANAGRAFE.Matricola = DIPLOMATO.Matricola);

Cognomi e voti, dei diplomati con voto compreso tra 42 e 48

SELECT Cognome, Voto
FROM ANAGRAFE INNER JOIN DIPLOMATO ON (ANAGRAFE.Matricola = DIPLOMATO.Matricola)
WHERE (Voto BETWEEN 42 AND 48);

Cognomi e voti, dei diplomati di Milano o Legnano

SELECT Cognome, Voto
FROM ANAGRAFE INNER JOIN DIPLOMATO ON (ANAGRAFE.Matricola = DIPLOMATO.Matricola)
WHERE (Cittā IN ("Milano","Legnano"));

Cognomi e voti, dei diplomati il cui cognome comincia con la lettera A

SELECT Cognome, Voto
FROM ANAGRAFE INNER JOIN DIPLOMATO ON (ANAGRAFE.Matricola = DIPLOMATO.Matricola)
WHERE (Cognome LIKE "A*");

Cognomi e voti, dei diplomati che abitano in una cittā con la I come seconda lettera

SELECT Cognome, Voto
FROM ANAGRAFE INNER JOIN DIPLOMATO ON (ANAGRAFE.Matricola = DIPLOMATO.Matricola)
WHERE (Cittā LIKE "?I*");

Cognomi e voti ordinati rispetto al voto

SELECT Cognome, Voto
FROM ANAGRAFE INNER JOIN DIPLOMATO ON (ANAGRAFE.Matricola = DIPLOMATO.Matricola)
ORDER BY Voto DESC;

Tabella DIPLOMATI

SELECT *
FROM DIPLOMATI;

Tutto sui diplomati...

SELECT *
FROM ANAGRAFE INNER JOIN DIPLOMATO ON (ANAGRAFE.Matricola = DIPLOMATO.Matricola);

Tutto su tutti...

SELECT *
FROM ANAGRAFE LEFT JOIN DIPLOMATO ON (ANAGRAFE.Matricola = DIPLOMATO.Matricola);

La media dei voti

SELECT AVG(Voto)
FROM DIPLOMATO;

La media dei voti per cittā

SELECT Cittā, AVG(Voto)
FROM ANAGRAFE INNER JOIN DIPLOMATO ON (ANAGRAFE.Matricola = DIPLOMATO.Matricola)
GROUP BY Cittā;

La media dei voti per cittā, con almeno 50 di media

SELECT Cittā, AVG(Voto)
FROM ANAGRAFE INNER JOIN DIPLOMATO ON (ANAGRAFE.Matricola = DIPLOMATO.Matricola)
GROUP BY Cittā
HAVING (AVG(Voto) >= 50);

La classifica della media dei voti per cittā

SELECT Cittā, AVG(Voto)
FROM ANAGRAFE INNER JOIN DIPLOMATO ON (ANAGRAFE.Matricola = DIPLOMATO.Matricola)
GROUP BY Cittā
ORDER BY AVG(Voto) DESC;

Creare la tabella ANAGRAFE

CREATE TABLE ANAGRAFE
(
  Matricola         char(5),
  Cognome           char(20),
  Nome              char(15),
  [Data di nascita] date,
  Indirizzo         char(30),
  Cap               char(5),
  Cittā             char(20),
  Telefono          char(11)
);
INSERT INTO ANAGRAFE VALUES ("10100", "De Nuccio", "Michele", "22/02/78",
   "Largo Beethoven, 1", "21013", "Gallarate", "0331/551412", "F");
...

Creare la tabella DIPLOMATO

CREATE TABLE DIPLOMATO
(
  Matricola             char(5),
  Sezione               char(1),
  [Indirizzo di studio] char(1),
  Voto                  integer,
  Anno                  integer
);

Modificare il codice relativo al sesso del record con codice 10100

UPDATE ANAGRAFE 
SET Sesso = 'M'
WHERE (Matricola = "10100");

Eliminare il record con codice 10100

DELETE * 
FROM ANAGRAFE
WHERE (MATRICOLA = "10100");

Eliminare la tabella ANAGRAFE

DROP TABLE ANAGRAFE;

Aggiungere il campo Sesso alla tabella ANAGRAFE

ALTER TABLE ANAGRAFE ADD Sesso char(1);

Eliminare il campo Sesso dalla tabella ANAGRAFE

ALTER TABLE ANAGRAFE DROP Sesso;

Creazione di TABTEMP

SELECT Cognome, Voto INTO TABTEMP
FROM ANAGRAFE INNER JOIN DIPLOMATO ON (ANAGRAFE.Matricola = DIPLOMATO.Matricola)
ORDER BY Voto DESC;

Accodamento in TABTEMP

INSERT INTO TABTEMP
SELECT Cognome, Voto
FROM ANAGRAFE INNER JOIN DIPLOMATO ON (ANAGRAFE.Matricola = DIPLOMATO.Matricola)
ORDER BY Voto DESC;

Diplomati - ApPuNtIdIuNiNfOrMaTiCo

Home • ECDL • Algoritmi • Java • Basi di dati • Seconda prova • Eccetera • Cerca nel sito

Precedente
SUPERIORE
Successiva