Fornire i comandi SQL necessari a realizzare una tabella pitagorica. In particolare:
moltiplicatore
, moltiplicando
e prodotto
.moltiplicatore
e moltiplicando
, in modo che siano presenti tutte le possibi coppie di numeri tra 0 e 100.prodotto
, in modo che per ogni riga essa sia uguale al prodotto del moltiplicatore e del moltiplicando.Chi ha ottenuto un voto insufficiente può recuperare venendo a ricevimento.
Studenti | Giudizio | Commento |
---|---|---|
Altomare, Francescone, Terrenzi | Insuff. | I comandi SQL non funzionano. |
Altomare, Francescone, Terrenzi bis | Buono | |
Candeloro | Ottimo | |
Capparella, Tontodonati | Ottimo | |
Cardone, Staniscia | Ottimo | |
Cialfi | Ottimo | |
Cilli, Di Giovanni, Paglialunga | Buono | Troppe tabelle... si possono riscrivere i comandi in modo che la tabella tre non serva. |
D'Ambrosio, Sappracone | Ottimo | Simile a Monachese, Salerno |
D'Aveta, Di Chiro | Ottimo | |
De Luca S. | Ottimo | |
De Luca F. (recupero) | Buono | |
Iuras, Palermo | Buono | Troppe tabelle... si può fare a meno della tabella pitagora2. |
Marchesani, D'Incecco | Ottimo | |
Mariani | Sufficiente | Troppi comandi SQL.. riempire manualmente la tabella numeri è quasi inevitabile, ma la tabella moltiplicazione andava riempita con un cross join, non con una sequenza di 101 insert. |
Mazzotti, Scutti | Ottimo | Simile a Cardone, Staniscia |
Monachese, Salerno | Ottimo | |
Pignoli | Sufficiente | Troppi comandi SQL.. riempire manualmente la tabella indice è quasi inevitabile, ma la tabella pitagora andava riempita con un cross join, non con una sequenza di 101 insert e update. |
Taronna | Buono | Troppe tabelle... si può fare a meno della tabella provvisoria. |
Ecco la mia soluzione:
CREATE TABLE t1 (i INT); INSERT INTO t1 VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17),(18),(19),(20),(21),(22),(23),(24),(25),(26),(27),(28),(29),(30),(31),(32),(33),(34),(35),(36),(37),(38),(39),(40),(41),(42),(43),(44),(45),(46),(47),(48),(49),(50),(51),(52),(53),(54),(55),(56),(57),(58),(59),(60),(61),(62),(63),(64),(65),(66),(67),(68),(69),(70),(71),(72),(73),(74),(75),(76),(77),(78),(79),(80),(81),(82),(83),(84),(85),(86),(87),(88),(89),(90),(91),(92),(93),(94),(95),(96),(97),(98),(99),(100); CREATE TABLE t2 (moltiplicatore INT, moltiplicando INT, prodotto INT); INSERT INTO t2 (moltiplicatore, moltiplicando) SELECT * FROM t1, t1 as t2; UPDATE t2 SET prodotto = moltiplicatore * moltiplicando;
In alternativa, le ultime due righe potevano essere sostituite da:
INSERT INTO t2 SELECT *, t1.i*t2.i FROM t1, t1 as t2;