Procedura: combinare le condizioni quando OR ha la precedenza

Per collegare condizioni con OR e attribuire loro la precedenza sulle condizioni collegate con AND, è necessario ripetere la condizione AND per ogni condizione OR.

Per trovare, ad esempio, i dipendenti che hanno lavorato nell'azienda per più di cinque anni con mansioni di basso livello o che sono in pensione, occorre creare una query con tre condizioni, un'unica condizione collegata ad altre due mediante AND:

  • I dipendenti assunti da più di cinque anni e

  • I dipendenti con livello pari a 100 o il cui stato sia "R" (retired, pensionato).

Nella procedura riportata di seguito viene illustrato come creare questo tipo di query nel riquadro Criteri.

Nota

È possibile che le finestre di dialogo e i comandi di menu visualizzati siano diversi da quelli descritti nella Guida a seconda delle impostazioni attive o dell'edizione del programma. Per modificare le impostazioni, scegliere Importa/Esporta impostazioni dal menu Strumenti. Per ulteriori informazioni, vedere Gestione delle impostazioni.

Per combinare condizioni quando OR ha la precedenza

  1. Nel riquadro Criteri aggiungere le colonne di dati da includere nella ricerca. Per effettuare la ricerca sulla stessa colonna utilizzando due o più condizioni collegate con AND, è necessario aggiungere alla griglia il nome della colonna di dati per ciascun valore da includere nella ricerca.

  2. Creare le condizioni da collegare con OR immettendo la prima nella colonna Filtro della griglia e la seconda (e le successive) in colonne OR… separate. Ad esempio, per collegare con OR condizioni per l'esecuzione della ricerca nelle colonne job_lvl e status, immettere = 100 nella colonna Filtro per job_lvl e = 'R' nella colonna OR... per status.

    Immettendo questi valori nella griglia, verrà prodotta la seguente clausola WHERE nell'istruzione del riquadro SQL:

    WHERE (job_lvl = 100) OR (status = 'R')
    
  3. Creare la condizione AND immettendola una volta per ciascuna condizione OR. Collocare ogni voce nella stessa colonna della griglia in cui è presente la corrispondente condizione OR. Ad esempio, per aggiungere una condizione AND che consenta di eseguire la ricerca nella colonna hire_date e sia valida per entrambe le condizioni OR, immettere < '1/1/91' nella colonna Criteri e nella colonna OR....

    Immettendo questi valori nella griglia, verrà prodotta la seguente clausola WHERE nell'istruzione del riquadro SQL:

    WHERE (job_lvl = 100) AND 
      (hire_date < '01/01/91' ) OR
      (status = 'R') AND 
      (hire_date < '01/01/91' )
    
    SuggerimentoSuggerimento

    Per ripetere una condizione AND, aggiungerla una volta, quindi utilizzare i comandi Taglia e Incolla del menu Modifica per ripeterla per altre condizioni OR.

La clausola WHERE creata da Progettazione query e Progettazione visualizzazioni è equivalente alla clausola WHERE riportata di seguito, in cui le parentesi consentono di specificare la precedenza di OR su AND:

WHERE (job_lvl = 100 OR status = 'R') AND
   (hire_date < '01/01/91')

Nota

Se le condizioni di ricerca vengono immesse nel formato indicato sopra nel riquadro SQL e la query viene poi modificata nel riquadro Diagramma o Criteri, in Progettazione query e Progettazione visualizzazioni l'istruzione SQL verrà ricreata per assicurare la corrispondenza tra il formato utilizzato e la condizione AND distribuita esplicitamente a entrambe le condizioni OR.

Vedere anche

Riferimenti

Operatori di confronto (Visual Database Tools)

Concetti

Convenzioni per la combinazione delle condizioni di ricerca nel riquadro Criteri

Altre risorse

Specifica dei criteri di ricerca