Esempio 4 (connettivi logici in WHERE)

Descrizione della query

Estrarre nome del correntista, importo e causale dei movimenti di tutti i correntisti con un saldo maggiore di due milioni e con un movimento che sia un versamento o un accredito di stipendio

La query da realizzare è:

SELECT nome, importo, causale FROM movimento, conto_corrente WHERE saldo>2.000.000 AND (causale=V OR causale =S) AND conto_corrente.numero_cc = movimento.numero_cc

La struttura della query in Access

Il risultato della query

Il codice SQL generato

SELECT conto_corrente.Nome, Movimento.Importo, Movimento.Causale
FROM conto_corrente INNER JOIN Movimento ON conto_corrente.Numero_cc = Movimento.Numero_cc
WHERE (((Movimento.Causale)="S" Or (Movimento.Causale)="V") AND ((conto_corrente.Saldo)>2000000));

Si noti la differenza con la seguente interrogazione

Il risultato della query

Il codice SQL generato

SELECT conto_corrente.Nome, Movimento.Importo, Movimento.Causale
FROM conto_corrente INNER JOIN Movimento ON conto_corrente.Numero_cc = Movimento.Numero_cc
WHERE (((conto_corrente.Saldo)>2000000)) OR (((Movimento.Causale)="S" Or (Movimento.Causale)="V"));