Differenza chiave – dove vs avere una clausola in SQL
I dati sono importanti per ogni organizzazione. Pertanto, è necessario archiviare i dati in modo organizzato per recuperarli. I dati sono memorizzati in tabelle. Un database è costituito da una raccolta di tabelle. Un tipo di database comune sono i database relazionali. In un database relazionale, le tabelle sono correlate tra loro. Ad esempio, la tabella cliente è collegata alla tabella ordini. Un sistema di gestione di database relazionali (RDBMS) è un sistema di gestione di database basato su un modello relazionale. Viene utilizzato per gestire i database relazionali. Alcuni esempi di RDBMS sono MySQL, MSSQL e Oracle. Lo Structured Query Language (SQL) è il linguaggio utilizzato per manipolare e recuperare i dati in un database relazionale. Ci sono varie clausole in SQL per eseguire compiti diversi. Due di loro sono dove e avendo. In questo articolo viene illustrata la differenza tra dove e avere la clausola in SQL. La differenza fondamentale tra la clausola where e have in SQL è quella dove la clausola viene utilizzata per filtrare i record prima che si verifichi un raggruppamento o un'aggregazione mentre la clausola have viene utilizzata per filtrare i record dopo un raggruppamento o un'aggregazione.
Qual è la clausola dove in SQL?
Aiuta a recuperare, aggiornare o eliminare un particolare insieme di dati dalla tabella in base alla condizione data. Il programmatore può utilizzare la clausola where per limitare e recuperare solo i dati richiesti. La query viene eseguita solo sui record in cui la condizione specificata dalla clausola where è vera. Può essere utilizzato con seleziona, aggiorna ed elimina.
Fai riferimento alla tabella degli studenti di seguito,
Per selezionare il nome e l'età dello studente il cui student_id è uguale a 3, è possibile utilizzare la seguente query SQL.
seleziona nome, età dello studente dove student_id=3;
È anche possibile utilizzare operatori come diverso da (!=), maggiore di (>), minore di (=), minore o uguale a (<=). Per selezionare lo student_id e il nome la cui età non è uguale a 15, è possibile utilizzare la seguente query SQL.
seleziona student_id, nome da studente dove età!=15;
Per cambiare l'età dello studente da 2 a 13 anni, è possibile utilizzare la seguente query.
aggiorna l'età dello studente=13 dove id=3;
Per eliminare il record di cui lo student_id è 4, è possibile utilizzare la seguente query.
elimina dallo studente dove student_id=4;
Gli operatori e, o possono essere utilizzati per combinare più condizioni.
seleziona il nome dallo studente dove student_id=1 e età=15; query recupererà il nome Ann.
Questi sono alcuni esempi di clausola where in SQL. Se è presente una clausola Group By, la clausola where compare prima di quella.
Cosa significa avere una clausola in SQL?
Ci sono funzioni fornite dal linguaggio SQL per eseguire facilmente i calcoli. Sono note come funzioni di aggregazione. Il min() viene utilizzato per trovare il valore più piccolo della colonna selezionata. Il max() viene utilizzato per trovare il valore massimo della colonna selezionata. Il avg() viene utilizzato per trovare la media nella colonna e sum() viene utilizzato per trovare il totale della colonna. Questi sono alcuni esempi di funzioni di aggregazione. Fare riferimento alla tabella degli ordini di seguito,
Il programmatore può scrivere la query SQL come segue per recuperare i clienti il cui saldo è superiore a 2000.
selezionadal gruppo di ordini per cliente con somma(saldo) > 2000.
Questo stamperà i record dei clienti la cui somma del saldo è maggiore di 2000. Stamperà i record dei clienti Ann e Alex.
La clausola having viene utilizzata per recuperare i valori per i gruppi che soddisfano determinate condizioni. Pertanto, il gruppo che rientra nella condizione data apparirà come risultato di ciò. La clausola having compare dopo la clausola group-by. Se la clausola group-by non è presente, la clausola having funzionerà in modo simile alla clausola where.
Quali sono le somiglianze tra la clausola where e have in SQL?
- Entrambe sono clausole in Structured Query Language.
- Entrambi possono essere utilizzati per filtrare il recupero di una serie di dati.
Qual è la differenza tra la clausola where e avendo in SQL?
dove vs avere una clausola in SQL |
|
Dove è una clausola SQL utilizzata per specificare una condizione durante il recupero dei dati da una singola tabella o l'unione con più tabelle. | Ha è una clausola SQL che specifica che un'istruzione SQL select deve restituire solo righe in cui i valori aggregati soddisfano le condizioni specificate. |
Scopo | |
La clausola where viene utilizzata per filtrare le righe. | La clausola having viene utilizzata per filtrare i gruppi. |
Aggregazione | |
La clausola where non può essere utilizzata con le funzioni di aggregazione a meno che non sia in una sottoquery contenuta in una clausola Have. | Le funzioni di aggregazione possono essere utilizzate con la clausola having. |
Metodo di filtraggio | |
La clausola where si comporta come un prefiltro. | La clausola having si comporta come un post-filtro. |
Raggruppa per ordine di clausole | |
La clausola where viene utilizzata prima della clausola Group By. | La clausola having viene utilizzata dopo la clausola Group By. |
Usato con | |
La clausola where può essere utilizzata con select, update ed delete. | La clausola having viene utilizzata solo con select. |
Riepilogo – dove vs avere una clausola in SQL
The Structured Query Language (SQL) è il linguaggio utilizzato nei database relazionali. Dove stanno avendo sono due clausole in SQL. Questo articolo ha discusso la differenza tra dove e avendo clausola. La differenza tra la clausola where e have in SQL è quella dove viene utilizzato per filtrare i record prima che si verifichi un raggruppamento o un'aggregazione mentre have viene utilizzato per filtrare i record dopo un raggruppamento o un'aggregazione.