Dsy Network www | forum | my | didattica | howto | wiki | el goog | stats | blog | dona | rappresentanti
Homepage
 Register   Calendar   Members  Faq   Search  Logout 
.dsy:it. : Powered by vBulletin version 2.3.1 .dsy:it. > Didattica > Corsi A - F > Basi di dati ~ comunicazione digitale > Query laboratorio
  Last Thread   Next Thread
Author
Thread    Expand all | Contract all    Post New Thread    Post A Reply
Collapse
fradj
.consigliere.

User info:
Registered: Jun 2006
Posts: 111 (0.02 al dì)
Location:
Corso:
Anno:
Time Online: 1 Day, 0:36:30 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged
Query laboratorio

Ciao a tutti... qualcuno ha le query fatte a lezione lunedi??? io purtroppo ho perso il quaderno. grazie mille...

05-05-2010 09:18
Click Here to See the Profile for fradj Click here to Send fradj a Private Message Find more posts by fradj Add fradj to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
AL
Haribo addicted

User info:
Registered: Feb 2007
Posts: 601 (0.09 al dì)
Location: Treviso/Milano
Corso: Comunicazione Digitale
Anno:
Time Online: 8 Days, 6:22:02: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

questi son quelli che ho io:

/* 1) Trovare i nomi delle pizze e i prezzi che costano meno di 6 euro */
SELECT nome, prezzo FROM pizza WHERE prezzo < 6

/* 2) Trovare gli ingredienti delle pizze */
SELECT DISTINCT ingrediente FROM ingrediente

/* 3) Trovare cognome, nome e telefono dei clienti che abitano in via dei Girasoli ordinati per nome e cognome */
SELECT cognomec, nomec, telc FROM cliente WHERE via = 'via dei Girasoli' ORDER BY cognomec, nomec

/* 4) Trovare il numero di telefono dei clienti che hanno effettuato un ordine
di almeno 5 pizze nell'ultima settimana, spendendo tra i 20 e i 50 euro*/
SELECT telc FROM ordine
WHERE qta <= 5 AND
importo BETWEEN 20 AND 50 AND
data > (CURRENT_DATE - 7)

/* 5) Trovare il nome delle pizze ordinate in data 4 settembre 2009 */
SELECT nome FROM pizza
NATURAL JOIN ordine
WHERE data = '2009-09-04'

/* 6) Trovare i nominativi dei clienti che hanno ordinato almeno una pizza che contenga le olive di ogni genere,
insieme alla data e all'importo dell'ordine. Presentare il risultato ordinato in modo decrescente rispetto all'importo e,
a parità di importo, in modo crescente per cognome e nome */
SELECT DISTINCT cognomec, nomec, data, importo FROM cliente
NATURAL JOIN ordine
NATURAL JOIN ingrediente
WHERE ingrediente LIKE '%olive%'
ORDER BY importo DESC, cognomec, nomec

/* 7) Trovare i clienti vicini di casa. Due clienti si dicono "vicini di casa" se abitano
nella stessa via e la differenza dei loro numeri civici è minore di 5*/
SELECT c1.*, c2.* FROM
cliente AS c1, cliente AS c2
WHERE c1.via = c2.via AND c1.telc < c2.telc AND
ABS(c1.nciv - c2.nciv) < 5

/* 8) Restituire i dati degli ordini per i quali si è applicato uno sconto(cioè gli ordini per cui l'importo è inferiore
al valore ottenuto moltiplicando la quantità ordinata per il relativo prezzo della pizza). Riportare anche lo sconto effettuato. */
SELECT ordine.*, (qta*prezzo)-importo AS sconto FROM pizza
NATURAL JOIN ordine
WHERE importo < qta*prezzo

/* 9) Produrre l'elenco, in ordine alfabetico, dei clienti. Per quelli che hanno effettuato almeno un ordine, riportare nell'elenco
le informazioni relative all'importo e alla data degli ordini effettuati. Gli ordini dello stesso cliente devono essere ordinati
dalla data più recente. */
SELECT cognomec, nomec, importo, data FROM cliente
NATURAL LEFT JOIN ordine
ORDER BY cognomec, nomec, data DESC

/* 10)Trovare il numero totale, l'importo totale e medio degli ordini degli utenti e quante pizze diverse hanno ordinato. */
SELECT count (*), SUM (importo), AVG (importo), count(distinct codp)
FROM ordine

/* 10bis)Trovare per ogni cliente, il numero totale,l'importo totale e medio dei suoi ordini e quante pizze diverse ha ordinato.*/
SELECT count (*), SUM (importo), AVG (importo), count(distinct codp)
FROM ordine
GROUP BY telc

/* 11) Trovare il nome delle pizze ordinate nel 2010 il cui importo totale ordinato sia stato inferiore alla somma del prezzo per la quantità ordinata.*/
SELECT nome, prezzo, sum(qta), sum (importo) FROM pizza
NATURAL JOIN ordine
WHERE data BETWEEN '2010-1-1' AND '2010-12-31'
GROUP BY nome, prezzo
HAVING sum(importo)<sum(prezzo*qta)

/* 12) Trovare il codice delle pizze con almeno 3 ingredienti. Restituire anche il numero di ingredienti.*/
SELECT codp, count(ingrediente) FROM ingrediente
GROUP BY codp
HAVING count(ingrediente) >= 3

/* 12bis) Trovare il codice delle pizze con il maggior numero di ingredienti. Restituire anche il numero di ingredienti.*/
SELECT DISTINCT codp, count(ingrediente)
FROM ingrediente
GROUP BY codp
HAVING count(ingrediente) >= ALL(
SELECT count(ingrediente) from ingrediente GROUP BY codp)

/* 13) Restituire in una singola colonna, cognome e nome dei clienti che hanno ordinato il minor numero di pizze margherita,
ordinando il risultato in base al cognome.*/

SELECT cognomec || ' ' || nomec FROM cliente
NATURAL JOIN ordine
NATURAL JOIN pizza
WHERE nome='margherita'
GROUP BY cognomec, nomec
HAVING sum(qta) <= ALL (

SELECT sum(qta) FROM cliente
NATURAL JOIN ordine
NATURAL JOIN pizza
WHERE nome='margherita'
GROUP BY cognomec, nomec

)

/* 14) Trovare i clienti che hanno ordinato (almeno una volta) la pizza capricciosa oppure ai quattro formaggi.*/
SELECT DISTINCT cognomec, nomec FROM cliente
NATURAL JOIN ordine
NATURAL JOIN pizza
WHERE nome='capricciosa' OR nome='quattro formaggi'

Last edited by AL on 07-05-2010 at 10:18

06-05-2010 17:16
Click Here to See the Profile for AL Click here to Send AL a Private Message Find more posts by AL Add AL to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
fradj
.consigliere.

User info:
Registered: Jun 2006
Posts: 111 (0.02 al dì)
Location:
Corso:
Anno:
Time Online: 1 Day, 0:36:30 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

thank you very much...

06-05-2010 17:41
Click Here to See the Profile for fradj Click here to Send fradj a Private Message Find more posts by fradj Add fradj to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
AL
Haribo addicted

User info:
Registered: Feb 2007
Posts: 601 (0.09 al dì)
Location: Treviso/Milano
Corso: Comunicazione Digitale
Anno:
Time Online: 8 Days, 6:22:02: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

prego!

06-05-2010 17:46
Click Here to See the Profile for AL Click here to Send AL a Private Message Find more posts by AL Add AL to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
yaone
.precettore.

User info:
Registered: Jan 2007
Posts: 88 (0.01 al dì)
Location: rozzano (mi)
Corso: comunicazione digitale
Anno: 1° fuori corso
Time Online: 20:21:47 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

queste sono quelle ke abbiamo fatto anke ieri (labA) vero?

Last edited by yaone on 06-05-2010 at 17:56

06-05-2010 17:52
Click Here to See the Profile for yaone Click here to Send yaone a Private Message Find more posts by yaone Add yaone to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
AL
Haribo addicted

User info:
Registered: Feb 2007
Posts: 601 (0.09 al dì)
Location: Treviso/Milano
Corso: Comunicazione Digitale
Anno:
Time Online: 8 Days, 6:22:02: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by yaone
queste sono quelle ke abbiamo fatto ieri (labA)


son tutte quelle che abbiamo fatto fin ora lunedì 3 e mercoledì 5 esclusa la numero 15 in cui mi sembra venga utilizzato INTERSECT

06-05-2010 17:54
Click Here to See the Profile for AL Click here to Send AL a Private Message Find more posts by AL Add AL to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
AL
Haribo addicted

User info:
Registered: Feb 2007
Posts: 601 (0.09 al dì)
Location: Treviso/Milano
Corso: Comunicazione Digitale
Anno:
Time Online: 8 Days, 6:22:02: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

ho editato la richiesta della query 11 perché mancava un pezzo

07-05-2010 10:19
Click Here to See the Profile for AL Click here to Send AL a Private Message Find more posts by AL Add AL to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
All times are GMT. The time now is 04:18.    Post New Thread    Post A Reply
  Last Thread   Next Thread
Show Printable Version | Email this Page | Subscribe to this Thread | Add to Bookmarks

Forum Jump:
Rate This Thread:

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is ON
 

Powered by: vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento | Licenze | Thanks | Syndacate
Pagina generata in 0.035 seconds (79.33% PHP - 20.67% MySQL) con 26 query.