SQL (Structured Query Language)
Un corso completo sul linguaggio SQL (Structured Query Language): definizioni, esempi ed esercizi

da | 6 Feb 2006 | Informatica | 15 commenti

SQL - Soluzioni esercizi cap. 2

1)

SELECT COGNOME

FROM AMICI

WHERE COGNOME LIKE ‘M%’ ;

Alcuni DBMS, come Access, implementano ‘*’ invece ‘%’

2)

SELECT COGNOME, NOME

FROM AMICI

WHERE NOME = ‘MARIA’

AND PR = ‘BG’;

3)

NOME COGNOME
MARIA ROSSI
MARIA VERDI
ALBERTO MAZZA

4) La query non estrapola nessun nominativo, in quanto nessuna persona che si chiama Maria fa di

cognome Mazza;

5)

BETWEEN 10 AND 30

6)

SELECT NOME

FROM PERSONE

WHERE CONIUGE IS NOT NULL

AND SESSO = ‘F’;

7)

SELECT NOME

FROM PERSONE

WHERE NOME LIKE ‘A%O’;

Bisogna ricordare che il corrispondente carattere ‘%’ implementato da Access è ‘*’.

8)

SELECT NOME

FROM PERSONE

WHERE NOME LIKE ‘_ _ _O %’;

Bisogna ricordare che il corrispondente carattere ‘_’ implementato da Access è ‘?’.

9)

SELECT *, (PrezzoIngrosso * 1.5) PrezzoVendita

FROM PREZZI;

Bisogna ricordare che l’assegnazione del nome alla colonna che conterrà i nuovi prezzi, non è possibile utilizzando Access 8.0.

10) Le espressioni che possiamo utilizzare sono ameno due:

SELECT – PrezzoIngrossoFROM PREZZI; SELECT (PrezzoIngrosso * –1)FROM PREZZI;

11)

SELECT *

FROM CACCIATORI

UNION

SELECT *

FROM PESCATORI

UNION

SELECT *

FROM SCALATORI;

12)

SELECT *

FROM CACCIATORI

MINUS

SELECT *

FROM SCALATORI;

Bisogna ricordare che l’operatore MINUS non è implementato da Access 8.0

13)

SELECT *

FROM SCALATORI

MINUS

SELECT *

FROM CACCIATORI;

14)

SELECT *

FROM PESCATORI

INTERSECT

SELECT *

FROM CACCIATORI;

Bisogna ricordare che l’operatore INTERSECT non è implementato da Access 8.0

15) Si.

16)

SELECT *

FROM CACCIATORI

WHERE NOME LIKE ‘ %A%I’

UNION

SELECT *

FROM PESCATORI

WHERE NOME LIKE ‘ %A%I’

UNION

SELECT *

FROM SCALATORI

WHERE NOME LIKE ‘ %A%I’;

Bisogna ricordare che il corrispondente carattere ‘ %’ implementato da Access è ‘*’.

17)

SELECT *

FROM CACCIATORI

WHERE NOME LIKE ‘ %A %’ OR NOME LIKE ‘ %I’

UNION

SELECT *

FROM PESCATORI

WHERE NOME LIKE ‘ %A%’ OR NOME LIKE ‘ %I’

UNION

SELECT *

FROM SCALATORI

WHERE NOME LIKE ‘ %A%’ OR NOME LIKE ‘ %I’

15 Commenti

  1. Gian

    SAlve, quindi non esiste una funzione come p.e. in Excel, che estragga alcuni caratteri a destra o sinistra?
    Ho provato cn right(nome, 3) ma non lo riconosce

    Rispondi
  2. Angelo

    SELECT COUNT (*)
    Buongiorno

    FROM IMPIEGATO
    WHERE DIPARTIMENTO = ‘PRODUZIONE’

    genera il seguente errore:
    “The data types text and varchar are incompatible in the equal to operator”.

    Invece, sostituendo con WHERE DIPARTIMENTO LIKE ‘PRODUZIONE’, la query funziona.

    Rispondi
  3. Itrecensioni.top

    Ho imparato alcune cose buone qui. Certamente merita il bookmarking per la rivisitazione.

    Mi chiedo quanti sforzi hai impostato per creare questo tipo di fantastico sito informativo.

    Rispondi
  4. Angelo

    guida molto interessante grazie se ci fossero anche le istruzioni per creare la tabella sarebbe completa secondo me

    Rispondi
  5. Stefano

    Grazie per la guida. Semplice, interessante ed utile.
    Vorremmo segnalare due cose. Un errore ed un dubbio.
    Errore:
    SELECT DIVISIONE, AVG(STIPENDIO)
    FROM DIPENDENTI
    HAVING AVG(STIPENDIO) > 2200000;

    manca la “group by DIVISIONE” prima della HAVING.

    Di conseguenza il dubbio sul punto 6.
    HAVING non è necessario che venga posta dopo la clausola GROUP BY.
    Sicuri?

    Rispondi
  6. Davide

    Guida Molto utile, segnalo un errore nella query 9, capitolo 2, delle soluzioni:
    PrezzoIngrosso è moltiplicato * 1,5 ma si chiedeva un aumento del 15%, ciò significa moltiplicare * 1,15

    Rispondi
  7. V

    Grazie guida molto utile per imparare da 0.

    Rispondi
  8. FortyZone

    Veramente complimenti, una guida dettagliata, semplice e adatta a tutti 🙂

    FortyZone

    Rispondi
  9. Andrea

    Davvero complimenti ragazzi. La prima guida che per chi parte da zero è manna dal cielo…PERFETTA!!

    Rispondi
  10. James

    nel punto 8 la soluzione non dovrebbe essere con HAVING MIN(IMPORTO) > 400 000; cioè: SELECT BENEFICIARI FROM ASSEGNI GROUP BY BENEFICIARIO HAVING MIN(IMPORTO) > 400 000;

    Rispondi
  11. Luca

    un ottimo Manuale unico errore (se vogliamo chiamarlo cosi) i tipi di dati Char(5) number(5,2) cosa sono e come si usano

    Rispondi
  12. Valerio

    Complimenti ottimo sito! fatto davvero bene. Grazie!

    Rispondi
  13. Lorenzo

    ma come si crea il database?

    Rispondi
  14. Alessia

    È stata spiegato molto bene.

    Rispondi

Invia un commento

Il tuo indirizzo email non sarà pubblicato.

Share This