Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: SQL Server
Per collegare le condizioni a OR e dare loro la precedenza sulle condizioni collegate a AND, è necessario ripetere la AND condizione per ogni OR condizione.
Si supponga, ad esempio, di voler trovare tutti i dipendenti che sono stati con l'azienda più di cinque anni e che abbiano un lavoro di livello inferiore o siano ritirati. Questa query richiede tre condizioni, una singola condizione collegata a due condizioni aggiuntive con AND:
Dipendenti con una data di assunzione precedente a cinque anni fa, e
Dipendenti con un livello di lavoro pari a 100 o il cui stato è "R" (per il ritiro).
La procedura seguente illustra come creare questo tipo di query nel riquadro Criteri.
Combinare le condizioni quando OR ha la precedenza
Nel riquadro Criteri (Visual Database Tools) aggiungere le colonne di dati da cercare. Se si desidera eseguire una ricerca nella stessa colonna usando due o più condizioni collegate a
AND, è necessario aggiungere il nome della colonna di dati alla griglia una volta per ogni valore da cercare.Creare le condizioni per collegarsi a
ORinserendo la prima nella colonna della griglia Filtro e la seconda (e successive) in diverse colonne Oppure... separate. Ad esempio, per collegare le condizioni conORche cercano nelle colonnejob_lvlestatus, immettere= 100nella colonna Filtro perjob_lvle= 'R'nella colonna Or... perstatus.L'immissione di questi valori nella griglia produce la clausola seguente
WHEREnell'istruzione nel riquadro SQL:WHERE (job_lvl = 100) OR (status = 'R')Creare la
ANDcondizione immettendola una volta per ogniORcondizione. Inserire ciascun elemento nella stessa colonna della griglia della condizioneORa cui corrisponde. Ad esempio, per aggiungere unaANDcondizione che cerca nella colonnahire_datee si applica a entrambe le condizioniOR, inserire< '1/1/91'sia nella colonna Criteri che nella colonna Or... .L'immissione di questi valori nella griglia produce la clausola seguente
WHEREnell'istruzione nel riquadro SQL:WHERE (job_lvl = 100) AND (hire_date < '01/01/91') OR (status = 'R') AND (hire_date < '01/01/91')Suggerimento
È possibile ripetere una
ANDcondizione aggiungendola una sola volta e quindi usando i comandi Taglia e Incolla dal menu Modifica per ripeterla per altreORcondizioni.
La WHERE clausola creata da Progettazione query e Progettazione viste è equivalente alla seguente clausola WHERE, che utilizza le parentesi per specificare la precedenza di OR rispetto a AND:
WHERE (job_lvl = 100 OR status = 'R') AND
(hire_date < '01/01/91')
Annotazioni
Se si immettono le condizioni di ricerca nel formato riportato immediatamente sopra nel riquadro SQL (Visual Database Tools), ma successivamente si apporta una modifica alla query nei riquadri Diagramma o Criteri, il Progettista query e viste ricrea l'istruzione SQL in modo che corrisponda al formato con la AND condizione esplicitamente distribuita tra entrambe OR le condizioni.