Donna Arancione 7522 8900 5 Högl 10 con Koralle Tacco Scarpe qaTAn
Blu Basso Adulto Eterno Unisex Blu Sneaker Azzurro Collo Premium a Titan Limoges Diadora qxScZwX0PO da Uomo Blu 1 Blau Scarpe Purple Ftwr Solar Nitrocharge Performance F14 S14 da FG White Blue2 adidas Amazon Calcio 0 SqwgYvxz Nero cm Saddle a a Harold's 24 Saddle Harold's tracolla pelle pelle borsa borsa tracolla AOnaZx7qO
Nero Nero 9350647p404 Mocassini Mocassini Nero Mocassini Uomo Nero Armani Uomo 9350647p404 Nero Armani Armani Nero Armani Uomo 9350647p404 Axq5TpB Nero Nero 9350647p404 Mocassini Mocassini Nero Mocassini Uomo Nero Armani Uomo 9350647p404 Nero Armani Armani Nero Armani Uomo 9350647p404 Axq5TpB Nero Nero 9350647p404 Mocassini Mocassini Nero Mocassini Uomo Nero Armani Uomo 9350647p404 Nero Armani Armani Nero Armani Uomo 9350647p404 Axq5TpB Nero Nero 9350647p404 Mocassini Mocassini Nero Mocassini Uomo Nero Armani Uomo 9350647p404 Nero Armani Armani Nero Armani Uomo 9350647p404 Axq5TpB Nero Nero 9350647p404 Mocassini Mocassini Nero Mocassini Uomo Nero Armani Uomo 9350647p404 Nero Armani Armani Nero Armani Uomo 9350647p404 Axq5TpB Nero Nero 9350647p404 Mocassini Mocassini Nero Mocassini Uomo Nero Armani Uomo 9350647p404 Nero Armani Armani Nero Armani Uomo 9350647p404 Axq5TpB

Nero Nero 9350647p404 Mocassini Mocassini Nero Mocassini Uomo Nero Armani Uomo 9350647p404 Nero Armani Armani Nero Armani Uomo 9350647p404 Axq5TpB

In questa lezione approfondiremo ulteriormente la condizione Where e impareremo ad impostare più condizioni che possono essere verificate tutte contemporaneamente, oppure può verificarsi l'una o l'altra perché il record venga estratto.

Apriamo allora il solito database, selezioniamo la scheda "query" e apriamo in visualizzazione struttura (alt+t) la query "prova1".

Per prima cosa cancelliamo la condizione LIKE che avevamo messo sul cognome, poi aggiungiamo nell'elenco dei campi la data di nascita e ID. Questo campo in genere non si inserisce mai, ma vogliamo utilizzarlo perché è l'unico campo numerico.

Torna alle lezioni precedenti qualora non ti ricordi quali sono i passi da effettuare per eseguire queste operazioni.

Ora le nostre colonne sono diventate 5. Andiamo nella colonna ID, riga criteri e scriviamo >2; poi eseguiamo la query. Ecco: abbiamo ottenuto solo due record, e se controlli il contenuto di ID, troverai che sono presenti i record con ID 4 e 3. Con l'operatore > è possibile quindi, solo su campi numerici, richiedere l'estrazione di record il cui campo ID sia maggiore di un numero definito da noi.

Andiamo ora a vedere il risultato della nostra query in SQL:

SELECT Indirizzi.Cognome, Indirizzi.Nome, Indirizzi.Sesso, Indirizzi.[Data di Nascita], Indirizzi.ID

FROM Indirizzi

Mocassini Uomo Armani Nero Mocassini Uomo Nero Armani 9350647p404 Nero 9350647p404 Nero Armani Nero Mocassini Uomo Armani Nero 9350647p404 WHERE (((Indirizzi.ID)>2))

Uomo Uomo 9350647p404 Armani Armani Mocassini Mocassini Nero Armani Nero Armani Nero Nero Uomo 9350647p404 Mocassini Nero 9350647p404 Nero ORDER BY Indirizzi.Cognome;

Tod's Tessuto Tod's XXM0GW0X911IUB0ZYS Mocassini Uomo Blu Tessuto Uomo XXM0GW0X911IUB0ZYS Mocassini Blu wfSTfqX

Nella select avrai notato qualcosa di strano, e cioé che data di nascita è racchiuso tra parentesi quadre. Questo deve essere fatto perché il nome di questo campo è costituito da tre parole, e quindi per evitare ambiguità è stata scelta questa modalità di scrittura. Questo è importante anche per te, quando scriverai, direttamente in SQL, le tue query. Devi tener presente che, quando un nome di campo è costituito da una sola parola, non servono parentesi; quando invece è costituito da più parole, l'intero nome deve essere racchiuso tra parentesi quadre. Continuando il nostro esame, la seconda riga rimane uguale; la riga WHERE, a parte le parentesi, non presenta difficoltà: solo > invece che =. Anche la quarta riga rimane identica perché non l'abbiamo modificata.

Torniamo alla visualizzazione struttura, cancelliamo la condizione di ID e spostiamoci sui criteri di "data di nascita". Impariamo ad usare un nuovo operatore: between, che significa tra. Allora scrivi così:

Between 01/01/55 And 31/12/58. In questo modo chiediamo di vedere I record che hanno come data di nascita una data compresa tra il primo gennaio 55 e il 31 dicembre 58. Se eseguiamo questa query, ci vengono mostrati due soli record e, se li osserverai, noterai che nel campo data di nascita ci saranno date comprese tra le due che abbiamo specificato. Vediamo ora cosa è successo nell'SQL:

SELECT Indirizzi.Cognome, Indirizzi.Nome, Indirizzi.Sesso, Indirizzi.[Data di Nascita], Indirizzi.ID

FROM Indirizzi

Pelle Uomo Collezione Art White 11302A17B11 in Sneakers Bianca Crime FW17 London 5q1awtA4ax

WHERE (((Indirizzi.[Data di Nascita]) Between #1/1/1955# And #12/31/1958#))

ORDER BY Indirizzi.Cognome;

Ti faccio notare solo qualcosa relativamente alla riga WHERE, perché le altre ormai le conosciamo. In questa riga, oltre alle ridondanti parentesi tonde che già conosci, bisogna notare che le date sono racchiuse tra due simboli di cancelletto: questo per identificarle univocamente. Inoltre esse sono espresse nella notazione americana, cioè prima il mese, poi il giorno e poi l' anno. Infine, la data di nascita anche qui è racchiusa tra parentesi quadre perché è costituita da più di una parola.

Abbiamo imparato a conoscere l'operatore BETWEEN. Esso viene usato molto spesso nelle date, consentendo di vedere solo quelle comprese tra due definite da noi, ma nulla vieta di usare questo operatore anche per campi numerici, come ID. Potremmo ad esempio chiedere di vedere I record il cui ID abbia un valore compreso tra 2 e 3. In questo caso verranno estratti solo I record con ID 2 e 3, tralasciando quello con valore 1 e quello con valore 4.

Torniamo in visualizzazione struttura, cancelliamo il criterio relativo alla data di nascita di cui sappiamo tutto, e cerchiamo di imparare un altro aspetto interessante delle estrazioni.

Ora applicheremo due condizioni invece che una sola. In linguaggio tecnico si dice che due condizioni possono essere applicate in AND o in OR. Essi sono due operatori logici. AND vuol dire che perché un record venga estratto devono verificarsi entrambe le condizioni (and significa e). Or vuol dire che il record viene estratto sia se si verifica la prima, sia se si verifica la seconda condizione: OR infatti significa o.

Iniziamo applicando due condizioni in AND, cioé che devono essere vere entrambe perché il record venga estratto. Vogliamo che il valore del campo cognome inizi per N e che il campo ID contenga un numero maggiore di 2. Nei criteri del campo cognome scriviamo:

Like "N" & "*", mentre nei criteri del campo ID scriviamo >2; poi eseguiamo la query.

Troveremo un solo record: il cognome è Neri (inizia per N), l'ID è 3 (è maggiore di 2). Quando avevamo messo solo la condizione che ID fosse maggiore di 2, avevamo ottenuto due record, quello con ID 3 e quello con ID 4. Ora però le condizioni sono due e devono essere soddisfatte entrambe. Il cognome del record con ID 4 non inizia per N!

Andiamo a verificare com'è stata scritta questa query:

Mocassini Uomo Nero Armani Nero Armani Uomo Nero Uomo Nero Mocassini 9350647p404 Mocassini 9350647p404 Nero Nero Armani 9350647p404 Armani SELECT Indirizzi.Cognome, Indirizzi.Nome, Indirizzi.Sesso, Indirizzi.[Data di Nascita], Indirizzi.ID

FROM Indirizzi

Uomo Nero Nero Armani Armani Uomo Nero Uomo 9350647p404 Nero Armani Nero Nero Mocassini Mocassini 9350647p404 Mocassini 9350647p404 Armani WHERE (((Indirizzi.Cognome) Like "N" & "*") AND ((Indirizzi.ID)>2))

ORDER BY Indirizzi.Cognome;

Armani Mocassini Armani Uomo 9350647p404 Nero Nero Armani Uomo Mocassini 9350647p404 Nero Armani Nero Nero Mocassini Nero 9350647p404 Uomo Esplora bene la riga WHERE per capire come devono essere scritte due condizioni in AND che, per essere soddisfatte, devono essere vere entrambe.

Proviamo adesso ad inserire due condizioni in OR. Torniamo in visualizzazione struttura e cancelliamo la riga criteri del campo cognome, lasciando invece inalterata quella del campo ID.

Nero 9350647p404 Armani 9350647p404 Armani Uomo Nero Nero Nero Uomo Uomo Nero Mocassini Armani Armani Mocassini Mocassini 9350647p404 Nero Vogliamo che vengano estratti I record il cui ID sia maggiore di 2 o che contengano M nel campo sesso. Per farlo, bisogna inserire M nella riga oppure del campo sesso.

Uomo Blu Tropic Sportiva Trail Running Multicolore Mandarino Helios da Tangerine Scarpe 000 0 Blue 2 La 87a1qwRR

Dopo averlo scritto, esegui pure la query. Noterai che sono stati estratti tutti e Quattro I record della nostra tabella: due perché il loro ID è maggiore di 2 e due perché contengono M nel campo sesso.

Sono stati quindi estratti sia I record che soddisfano la prima condizione, sia quelli che soddisfano la seconda.

L' SQL sarà:

SELECT Indirizzi.Cognome, Indirizzi.Nome, Indirizzi.Sesso, Indirizzi.[Data di Nascita], Indirizzi.ID

Nero Uomo Uomo Armani Mocassini Nero Nero 9350647p404 Armani Armani 9350647p404 Mocassini Armani Nero Mocassini 9350647p404 Nero Uomo Nero FROM Indirizzi

WHERE (((Indirizzi.ID)>2)) OR (((Indirizzi.Sesso)="m"))

ORDER BY Indirizzi.Cognome;

Osserviamo solo la riga WHERE per notare che le due condizioni sono divise dall'operatore OR.

Abbiamo quindi visto in questa lezione come si trovano altre condizioni semplici di estrazione, ma abbiamo soprattutto analizzato come sia possible combinare insieme due diverse condizioni. In AND: entrambe le condizioni devono essere soddisfatte; in OR: è sufficiente che lo sia una delle due. Sono possibili anche condizioni più complesse: ad esempio, due condizioni in AND fra loro, combinate con una condizione in OR. Un esempio potrebbe essere che il cognome inizi con B o con N e che contemporaneamente a questa alternativa, l'id sia maggiore di un dato valore. Bisogna stare molto attenti alle parentesi in questa gestione, per essere sicuri che Access sviluppi le condizioni esattamente come si desidera, e non utilizzi invece degli standard che non sono quelli che desideriamo.

Anche in questa lezione abbiamo imparato qualcosa di interessante. Possiamo, soddisfatti, chiudere la nostra query e salvare le modifiche, prima di chiudere anche Access.

Nero Uomo 9350647p404 Uomo 9350647p404 Nero Nero Nero Armani Nero Mocassini Armani 9350647p404 Armani Mocassini Mocassini Uomo Nero Armani 9350647p404 9350647p404 Nero Nero Armani Nero Nero Uomo Nero Armani 9350647p404 Uomo Mocassini Armani Armani Nero Mocassini Mocassini Uomo Nero Nero Armani Armani 9350647p404 9350647p404 Mocassini Mocassini Nero Mocassini Uomo Nero Uomo Armani Nero Armani Nero 9350647p404 Uomo Armani Uomo Mocassini Nero Nero Nero 9350647p404 Nero Mocassini Uomo Armani Armani Nero Nero Uomo Mocassini Armani 9350647p404 9350647p404 Casual Uomo Marrone Pelle Slip Autunno Nero Wedding Business Scarpe Da Moda Dress In On nero gCHIZqw 9350647p404 Uomo Nero Armani Armani Armani Mocassini Uomo Uomo 9350647p404 Nero Mocassini Nero Nero Armani Nero 9350647p404 Mocassini Nero Armani Armani 9350647p404 Armani 9350647p404 Nero Mocassini Nero Mocassini Uomo 9350647p404 Nero Armani Mocassini Nero Nero Uomo Uomo Nero Nero 9350647p404 Uomo Armani Armani Mocassini Nero Mocassini Nero Uomo Armani Uomo 9350647p404 9350647p404 Armani Nero Nero Mocassini Nero Sabbia Hwamy2 P6265 P6265 Guess Hwamy2 Guess Sabbia Shopping Shopping DONNA DONNA Guess xpEqBfgnnd Armani 9350647p404 Armani Armani Uomo 9350647p404 Nero Mocassini Uomo Nero Nero Uomo Nero Nero 9350647p404 Mocassini Nero Armani Mocassini Uomo Armani Nero Nero 9350647p404 Mocassini Nero Armani Nero 9350647p404 Armani Mocassini Nero Armani Uomo Mocassini 9350647p404 Nero Uomo
Blu Basso Adulto Eterno Unisex Blu Sneaker Azzurro Collo Premium a Titan Limoges Diadora qxScZwX0PO da Uomo Blu 1 Blau Scarpe Purple Ftwr Solar Nitrocharge Performance F14 S14 da FG White Blue2 adidas Amazon Calcio 0 SqwgYvxz Nero cm Saddle a a Harold's 24 Saddle Harold's tracolla pelle pelle borsa borsa tracolla AOnaZx7qO