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:
Convenzioni per la combinazione delle condizioni di ricerca nel riquadro Criteri
Procedura: specificare più condizioni di ricerca per una sola colonna
Procedura: specificare più condizioni di ricerca per più colonne
Procedura: combinare le condizioni quando AND ha la precedenza
Procedura: combinare le condizioni quando OR ha la precedenza
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