SELECT CITTA, MAX(ALTEZZA), MIN(PESO), avg(data_nascita) FROM ANAGRAFICA GROUP BY CITTA, SESSO, NAZIONALITA ANAGRAFICA NOME COGNOME DATA_DI_NASCITA CITTA_DI_NASCITA PESO ALTEZZA DATA_DI_ISCRIZIONE CITTA NOME PROVINCIA REGIONE NAZIONE NOME_NAZIONE ESAME NOME_STUDENTE COGNOME_STUDENTE DATA_DI_NASCITA_STUDENTE DATA_ESAME CORSO VOTO CONSTRAINT FOREIGN KEY REF_STUDENTE ( NOME_STUDENTE, COGNOME_STUDENTE, DATA_DI_NASCITA_STUDENTE ) REFERENCE ANAGRAFICA( NOME, COGNOME, DATA_DI_NASCITA ) ELENCO DELLE PERSONE NATE IN LOMBARDIA ELENCO DELLE PERSONE NATE IN UNA CITTA' DELLA REGIONE LOMBARDIA CITTA' DELLA REGIONE LOMBARDIA: SELECT NOME FROM CITTA WHERE REGIONE = "LOMBARDIA" SELECT * FROM ANAGRAFICA WHERE CITTA_DI_NASCITA IN ( SELECT NOME FROM CITTA WHERE REGIONE = "LOMBARDIA" ) CREATE VIEW CITTA_LOMBARDE AS SELECT * FROM CITTA WHERE REGIONE = "LOMBARDIA" SELECT NOME FROM CITTA_LOMBARDE SELECT * FROM ANAGRAFICA WHERE CITTA_DI_NASCITA IN ( SELECT NOME FROM CITTA_LOMBARDE ) SELECT * FROM ANAGRAFICA WHERE EXISTS ( SELECT * FROM CITTA WHERE REGIONE = "LOMBARDIA" AND ANAGRAFICA.CITTA_DI_NASCITA = CITTA.NOME ) SELECT ANAGRAFICA.* FROM ANAGRAFICA, CITTA WHERE ANAGRAFICA.CITTA_DI_NASCITA = CITTA.NOME AND CITTA.REGIONE = "LOMBARDIA" ELENCO DI NOMI SIA DI PERSONE CHE DI CITTA' CHE DI NAZIONI SELECT DISTINCT NOME FROM ANAGRAFICA UNION SELECT DISTINCT NOME FROM CITTA UNION SELECT DISTINCT NOME_NAZIONE FROM NAZIONE SELECT DISTINCT DATA_DI_NASCITA FROM ANAGRAFICA UNION SELECT DISTINCT NOME FROM CITTA SELECT DISTINCT NOME FROM CITTA EXCEPT SELECT DISTINCT NOME_NAZIONE FROM NAZIONE SELECT DISTINCT NOME FROM CITTA INTERSECT SELECT DISTINCT NOME_NAZIONE FROM NAZIONE INSERT INTO ANAGRAFICA (NOME, COGNOME, DATA_DI_NASCITA) VALUES ("GIOVANNI","BRUNASTI", TODAY() ) SELECT * FROM ANAGRAFICA WHERE DATA_DI_NASCITA = TODAY() SELECT TODAY() FROM DUAL SELECT 5 * 48 FROM DUAL ESTRAI LE PERSONE CHE HANNO RAPPORTO PESO/ALTEZZA > 0,5 SELECT * FROM ANAGRAFICA WHERE PESO / ALTEZZA > 0,5 SELECT * FROM ANAGRAFICA HAVING PESO / ALTEZZA > 0,5 SELECT CITTA.NOME, COUNT(*) AS NUMERO_PERSONE FROM ANAGRAFICA, CITTA WHERE ANAGRAFICA.CITTA_DI_NASCITA = CITTA.NOME no!!! AND NUMERO_PERSONE > 20 GROUP BY CITTA.NOME SELECT NOME FROM ( SELECT CITTA.NOME, COUNT(*) AS NUMERO_PERSONE FROM ANAGRAFICA, CITTA WHERE ANAGRAFICA.CITTA_DI_NASCITA = CITTA.NOME GROUP BY CITTA.NOME ) WHERE NUMERO_PERSONE > 20 SELECT CITTA.NOME FROM ANAGRAFICA, CITTA WHERE ANAGRAFICA.CITTA_DI_NASCITA = CITTA.NOME GROUP BY CITTA.NOME HAVING COUNT(*) > 20 UPDATE ANAGRAFICA SET NAZIONE = "SVIZZERA" WHERE NAZIONE IS NULL SELECT NOME, COGNOME, IF(DATA_DI_NASCITA > 1/1/1980, "GIOVANE", "VECCHIO") FROM ANAGRAFICA