Clausola SQL WHERE per il filtraggio dei dati

Clausola SQL WHERE per il filtraggio dei dati

In questo tutorial, discuteremo cos'è la clausola SQL WHERE e come usarla. Parleremo anche di più condizioni utilizzando gli operatori AND e OR

La clausola SQL WHERE serve per filtrare dati o record. Viene utilizzato per creare una condizione per estrarre solo i record necessari necessari. 

Oltre a utilizzare la clausola WHERE nell'istruzione SELECT , possiamo utilizzarla anche con UPDATE , DELETE e altre istruzioni SQL . Tuttavia, per questo tutorial, lo useremo solo nell'istruzione SELECT .

Sommario

Selezione semplice utilizzando la clausola SQL WHERE

Senza utilizzare la clausola WHERE in un'istruzione SELECT , restituirà tutte le righe di una particolare tabella.

Clausola SQL WHERE per il filtraggio dei dati

Per questo esempio, vogliamo solo ottenere i dati con una categoria Gadget .

Clausola SQL WHERE per il filtraggio dei dati


Quindi, dobbiamo usare la clausola WHERE per limitare i risultati. In questo esempio, abbiamo creato una condizione che dovrebbe controllare la colonna Category e restituire i record solo se Category è Gadgets .

Clausola SQL WHERE per il filtraggio dei dati

Si noti che quando si utilizza una stringa, è necessario racchiuderla tra virgolette singole ( ' ' ). 

Quando si utilizzano numeri o numeri interi, non è necessario utilizzare le virgolette singole. Ad esempio, vogliamo recuperare i record in cui il prezzo è minore o uguale a 30.

Quindi, dobbiamo solo creare una query in cui dovrebbe controllare la colonna Price e restituire quelle righe con un valore di 30 o inferiore a 30. Come puoi vedere, non abbiamo racchiuso anche il numero tra virgolette singole perché è un numero intero.

Clausola SQL WHERE per il filtraggio dei dati

Clausola WHERE SQL con l'operatore AND

Possiamo anche usare la clausola WHERE con più colonne insieme agli operatori AND e OR .

L' operatore AND funzionerà se entrambe le condizioni sono TRUE . Quindi viene utilizzato per ottenere record in cui più condizioni sono TRUE .

Ad esempio, in questo scenario, vogliamo i record in cui il produttore è GizmoWorks e il prezzo è inferiore a 20.  

Clausola SQL WHERE per il filtraggio dei dati

Abbiamo creato più condizioni con la clausola WHERE insieme all'operatore AND come mostrato nell'immagine.

Clausola SQL WHERE per il filtraggio dei dati

Sul nostro tavolo abbiamo 2 righe con un produttore GizmoWorks. Tuttavia, il prezzo della seconda riga è superiore a 20. Pertanto, il risultato restituirà solo la riga che restituisce true alle 2 condizioni che abbiamo impostato. 

Clausola SQL WHERE per il filtraggio dei dati

Clausola WHERE SQL con l' operatore OR

L'operatore OR indica che deve restituire i record se una delle condizioni è vera. Quindi, se AND restituisce solo un record in cui entrambe o tutte le condizioni sono vere, l'utilizzo dell'operatore OR restituirà un record anche se solo una condizione restituisce true. 

Supponiamo ad esempio di voler recuperare i record in cui il nome del prodotto è SingleTouch o MultiTouch .

Clausola SQL WHERE per il filtraggio dei dati

Abbiamo solo bisogno di creare una query per controllare la colonna PName della tabella Product . In questa query, abbiamo utilizzato la clausola WHERE e l' operatore OR per restituire le righe conformi a una delle condizioni impostate.

Clausola SQL WHERE per il filtraggio dei dati

Utilizzo della clausola WHERE in SSMS

Usiamo ora la clausola WHERE in SSMS . Qui viene utilizzato un database di esempio di Microsoft denominato AdventureWorks2012. Puoi imparare come impostarlo seguendo questo tutorial

Per questo esempio, recupereremo i record nella tabella SalesOrderHeader .

Clausola SQL WHERE per il filtraggio dei dati

Per eseguire questa query in SSMS , basta evidenziarla e fare clic sul pulsante Esegui.

Clausola SQL WHERE per il filtraggio dei dati

Senza utilizzare la clausola WHERE , restituirà tutti i record in questa tabella. Come possiamo vedere, ha restituito 31.465 righe.

Clausola SQL WHERE per il filtraggio dei dati

Diciamo che vogliamo filtrare quei record e restituire solo le righe con un TerritoryID di 5. Quindi, usiamo la clausola WHERE qui per creare quella condizione.

Clausola SQL WHERE per il filtraggio dei dati

Dopo aver eseguito quella query, ora restituirà 486 righe invece di 31.465. Questo perché ha filtrato i record a coloro che hanno solo TerritoryID di 5 .

Clausola SQL WHERE per il filtraggio dei dati

In questo momento, stiamo ancora portando tutte le colonne da quella tabella. Possiamo anche limitare le colonne specificando le colonne che vogliamo vedere.

Basta cambiare * nei nomi di colonna specifici ed eseguire la query. 

Clausola SQL WHERE per il filtraggio dei dati

Ora ci fornirà le colonne specifiche che abbiamo impostato con lo stesso numero di righe. 

Clausola SQL WHERE per il filtraggio dei dati

Usiamo ora la clausola WHERE con un valore String . Ad esempio, vogliamo limitare i record in base al valore della colonna PurchaseOrderNumber di P014123169936 . Poiché questo valore ha una lettera, è considerato una stringa anche se contiene molti numeri.

Clausola SQL WHERE per il filtraggio dei dati

Ricorda che quando si utilizza un valore String , è necessario racchiuderlo tra virgolette singole. Senza le virgolette singole, apparirà una linea rossa che indica che c'è un errore.

Clausola SQL WHERE per il filtraggio dei dati

Il risultato ci darà quindi solo una riga, il che significa che c'è solo un dato con il numero dell'ordine di acquisto che abbiamo impostato.

Clausola SQL WHERE per il filtraggio dei dati

Clausola WHERE con operatore AND e ordine per parola chiave

Abbiamo un altro filtro in cui vogliamo selezionare i record con determinate date dell'ordine. Per questo esempio, vogliamo selezionare solo i record in cui la data dell'ordine è maggiore o uguale a ' 2014-01-01 ' e minore o uguale a ' 2014-03-31 '.

Clausola SQL WHERE per il filtraggio dei dati

Possiamo anche usare la parola chiave Order By qui. Per questo esempio, vogliamo che questo sia ordinato per OrderDate in ordine decrescente.

Clausola SQL WHERE per il filtraggio dei dati

I risultati dovrebbero mostrare solo i record che soddisfano le due condizioni che abbiamo impostato.

Clausola SQL WHERE per il filtraggio dei dati

Possiamo anche ricreare quella query usando l' operatore BETWEEN . L'operatore BETWEEN seleziona un valore all'interno di un determinato intervallo. Quindi, ci darà gli stessi risultati se lo facciamo in questo modo. 

Clausola SQL WHERE per il filtraggio dei dati

Clausola WHERE con operatore OR per condizioni multiple

In questo esempio, abbiamo più condizioni utilizzando l' operatore OR . Vogliamo selezionare le righe con 5, 6 o 7 come ID territorio.

Clausola SQL WHERE per il filtraggio dei dati

I risultati dovrebbero mostrare tutti i record che hanno soddisfatto una delle condizioni che abbiamo impostato. Per questo esempio, ha restituito 7.225 righe.

Clausola SQL WHERE per il filtraggio dei dati

Utilizzo di funzioni con la clausola WHERE

Possiamo anche usare funzioni con la clausola WHERE . Ad esempio, invece di inserire manualmente il valore della data della colonna OrderDate , possiamo utilizzare la funzione YEAR per recuperare automaticamente tutti i record con una data dell'ordine dell'anno 2014. 

Clausola SQL WHERE per il filtraggio dei dati

Il risultato ci ha dato 11.761 righe che sono i record per il 2014.

Clausola SQL WHERE per il filtraggio dei dati

SQL per gli utenti di LuckyTemplates: nuovo corso LuckyTemplates
Query Folding e connessione a SQL Server

Conclusione

Per riassumere, abbiamo imparato come utilizzare la clausola WHERE nell'istruzione SELECT . Ancora una volta, possiamo anche usarlo in UPDATE , DELETE e altre istruzioni SQL . Abbiamo anche imparato a usarlo per creare più condizioni utilizzando gli operatori AND e OR .

Inoltre, abbiamo appreso l'uso dell'operatore BETWEEN per selezionare tra un intervallo di valori. Possiamo anche usare la clausola WHERE con una funzione come la funzione YEAR . L'uso della clausola WHERE è molto importante per filtrare alcuni record che vogliamo avere. È necessario ridurre i record restituiti da una query per filtrare i dati non necessari di cui non abbiamo bisogno. 

Ti auguro il meglio,

Hafiz


Power Automate si applica a ogni azione nei flussi di lavoro

Power Automate si applica a ogni azione nei flussi di lavoro

Scopri l

Tecniche di modellazione dei dati per organizzare le misure DAX

Tecniche di modellazione dei dati per organizzare le misure DAX

Tecniche di modellazione dei dati per organizzare meglio le misure DAX per un flusso di lavoro più efficiente.

Filtro Power Apps: cosè e come si usa?

Filtro Power Apps: cosè e come si usa?

Scopri come utilizzare la funzione di filtro in Power Apps e come incorporarla nelle formule esistenti all

Come commentare più righe in Python: una guida semplice e veloce

Come commentare più righe in Python: una guida semplice e veloce

Come commentare più righe in Python: una guida semplice e veloce

Connettori Power Automate: numero, testo e data e ora

Connettori Power Automate: numero, testo e data e ora

Acquisisci familiarità con i connettori Power Automate per la manipolazione di numeri, testo e date/ore.

Budget Vs Actual Vs Last Year - Suggerimenti per la rendicontazione finanziaria

Budget Vs Actual Vs Last Year - Suggerimenti per la rendicontazione finanziaria

Ora, è molto facile studiare il budget rispetto all

Come salvare e caricare un file RDS in R

Come salvare e caricare un file RDS in R

Imparerai come salvare e caricare oggetti da un file .rds in R. Questo articolo tratta anche come importare oggetti da R a LuckyTemplates.

Che cosè Power Query e M Language: una panoramica dettagliata

Che cosè Power Query e M Language: una panoramica dettagliata

Scopri tutto su Power Query e il linguaggio M per la trasformazione e la preparazione dei dati nel desktop di LuckyTemplates.

Cosè il sé in Python: esempi del mondo reale

Cosè il sé in Python: esempi del mondo reale

Cos'è il sé in Python: esempi del mondo reale

Rivisitazione dei primi N giorni lavorativi: una soluzione per il linguaggio di codifica DAX

Rivisitazione dei primi N giorni lavorativi: una soluzione per il linguaggio di codifica DAX

In questa esercitazione sul linguaggio di codifica DAX, scopri come usare la funzione GENERATE e come modificare dinamicamente il titolo di una misura.