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 da collegare
ORimmettendo la prima nella colonna Griglia filtro e la seconda (e successive) in colonne Or... separate. Ad esempio, per collegare le condizioni conORtale ricerca nellejob_lvlcolonne estatus, 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 ogni voce nella stessa colonna della griglia dellaORcondizione a cui corrisponde. Ad esempio, per aggiungere unaANDcondizione che cerca la colonna e si applica a entrambeORlehire_datecondizioni, immettere< '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 equivale alla clausola seguente WHERE , che usa le parentesi per specificare la precedenza di OR rispetto ANDa :
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, Progettazione query e Progettazione viste ricrea l'istruzione SQL in modo che corrisponda alla maschera con la AND condizione distribuita in modo esplicito in entrambe OR le condizioni.