Procedura: includere o escludere righe

Per limitare il numero di righe restituite da una query di selezione, è necessario creare condizioni di ricerca o criteri di filtro. In SQL le condizioni di ricerca vengono indicate nella clausola WHERE dell'istruzione o, se si sta creando una query di aggregazione, nella clausola HAVING.

Nota

È inoltre possibile utilizzare condizioni di ricerca per indicare le righe su cui ha effetto una query di aggiornamento, di accodamento, di accodamento valori, di eliminazione o di creazione tabella.

Al momento dell'esecuzione della query, il modulo di gestione di database esamina e applica la condizione di ricerca a ciascuna riga delle tabelle in cui si esegue la ricerca. Se la riga soddisfa la condizione, verrà inclusa nella query. Ad esempio, una condizione per la ricerca di tutti i dipendenti di una determinata regione potrebbe essere:

region = 'UK'

Per definire i criteri per l'inserimento di una riga in un risultato, è possibile utilizzare più condizioni di ricerca. Ad esempio, il seguente criterio di ricerca è costituito da due condizioni di ricerca. La query include una riga nel gruppo di risultati soltanto se tale riga soddisfa entrambe le condizioni.

region = 'UK' AND product_line = 'Housewares'

È possibile combinare queste condizioni con l'operatore AND o OR. Nell'esempio precedente è stato utilizzato AND, mentre nel criterio riportato di seguito viene utilizzato OR. In questo secondo caso il gruppo di risultati includerà tutte le righe che soddisfano una o entrambe le condizioni di ricerca:

region = 'UK' OR product_line = 'Housewares'

È inoltre possibile combinare condizioni di ricerca per una singola colonna. Ad esempio, il seguente criterio combina due condizioni per la colonna region:

region = 'UK' OR region = 'US'

Per informazioni dettagliate sulla combinazione di condizioni di ricerca, vedere i seguenti argomenti:

Esempi

Di seguito vengono forniti alcuni esempi di query che utilizzano vari operatori e criteri per le righe:

  • Valore letterale   Un singolo valore di testo, numerico, di data o logico. In questo esempio viene utilizzato un valore letterale per trovare tutte le righe relative ai dipendenti che vivono nel Regno Unito:

    WHERE region = 'UK'
    
  • Riferimento a una colonna   Confronta i valori di due colonne. In questo esempio vengono cercate all'interno di una tabella products tutte le righe nelle quali il valore del costo di produzione è inferiore al costo di spedizione:

    WHERE prod_cost < ship_cost
    
  • Funzione   Riferimento a una funzione che può essere risolto dal back-end del database per calcolare un valore per la ricerca. La funzione può essere una funzione definita dal server database o una funzione definita dall'utente che restituisce un valore scalare. In questo esempio vengono cercati gli ordini inviati nel giorno corrente (la funzione GETDATE( ) restituisce la data corrente):

    WHERE order_date = GETDATE()
    
  • NULL   In questo esempio vengono cercati all'interno di una tabella authors tutti gli autori per cui è stato registrato il nome:

    WHERE au_fname IS NOT NULL
    
  • Calcolo   Il risultato di un calcolo può includere valori letterali, riferimenti a colonne o altre espressioni. In questo esempio viene eseguita una ricerca all'interno di una tabella products per trovare tutte le righe in cui il prezzo di vendita al dettaglio è più del doppio del costo di produzione:

    WHERE sales_price > (prod_cost * 2)
    

Vedere anche

Altre risorse

Progettazione di query e visualizzazioni

Specifica dei criteri di ricerca

Esecuzione di query mediante l'utilizzo di parametri