I dati sono importanti per ogni organizzazione. Pertanto, è necessario memorizzare 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 è un database relazionale. In un database relazionale, le tabelle sono correlate tra loro. Ad esempio, il cliente della tabella è collegato alla tabella degli ordini. Un RDBMS (Relational Database Management System) è un sistema di gestione di database basato sul modello relazionale. È usato per gestire i database relazionali. Alcuni esempi di RDBMS sono MySQL, MSSQL e Oracle. 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. Questo articolo discute la differenza tra la clausola where e having in SQL. Il differenza chiave tra dove e avendo clausola in SQL è quello dove clausola viene utilizzata per filtrare i record prima che si verifichi un raggruppamento o un'aggregazione mentre viene utilizzata una clausola per filtrare i record dopo un raggruppamento o si verifica un'aggregazione.
1. Panoramica e differenza chiave
2. Qual è la clausola where in SQL
3. Cosa sta avendo clausola in SQL
4. Somiglianze tra dove e avendo clausola in SQL
5. Confronto affiancato - dove vs avendo clausola in SQL in forma tabulare
6. Sommario
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 è true. Può essere utilizzato con select, update e delete.
Consulta la tabella degli studenti sotto,
Per selezionare il nome e l'età dello studente cui student_id è uguale a 3, è possibile utilizzare la seguente query SQL.
seleziona il nome, l'età dello studente dove student_id = 3;
È anche possibile utilizzare operatori come non uguale a (! =), Maggiore di (>), minore di (=), minore o uguale a (<=). To select the student_id and name whose age is not equal to 15, the following SQL query can be used.
seleziona student_id, nome dello studente dove età! = 15;
Per cambiare l'età dello studente da 2 a 13, è possibile utilizzare la seguente query.
aggiorna lo studente set = 13 dove id = 3;
Per cancellare il record di cui student_id è 4, è possibile utilizzare la seguente query.
cancella dallo studente dove student_id = 4;
Il e, o gli operatori possono essere usati per combinare più condizioni.
seleziona il nome dallo studente dove student_id = 1 e età = 15; la query recupererà il nome Ann.
Questi sono alcuni esempi della clausola where in SQL. Se esiste una clausola Group By, la clausola where viene visualizzata prima.
Ci sono funzioni fornite dal linguaggio SQL per eseguire facilmente il calcolo. Sono conosciuti come funzioni di aggregazione. Il min () viene utilizzato per trovare il valore più piccolo della colonna selezionata. Il massimo () viene utilizzato per trovare il valore massimo della colonna selezionata. 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 in basso,
Il programmatore può scrivere la query SQL come segue per recuperare i clienti il cui saldo è superiore a 2000.
seleziona * dal gruppo ordini per cliente con somma (saldo)> 2000.
Questo stamperà i record dei clienti la cui somma del saldo è maggiore di 2000. Stampa 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 indicata apparirà come risultato di questo. La clausola having appare dopo la clausola group-by. Se la clausola group-by non è presente, la clausola having funzionerà in modo simile alla clausola where.
dove vs avendo clausola in SQL | |
Il dove è una clausola SQL che viene utilizzata per specificare una condizione durante il recupero dei dati da una singola tabella o dall'unione con più tabelle. | L'avere è una clausola SQL che specifica che un'istruzione di selezione SQL deve restituire solo le 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 si trovi in una sottoquery contenuta in una clausola Having. | Le funzioni di aggregazione possono essere utilizzate con la clausola having. |
Metodo di filtraggio | |
La clausola where si comporta come un pre-filtro. | La clausola having si comporta come un filtro post. |
Raggruppa per ordine | |
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 e delete. | La clausola having viene utilizzata solo con select. |
Structured Query Language (SQL) è il linguaggio utilizzato nei database relazionali. Il dove stanno avendo due clausole in SQL. Questo articolo ha discusso la differenza tra dove e avendo clausola. La differenza tra la clausola where e having in SQL è quella in cui viene utilizzato per filtrare i record prima che si verifichi un raggruppamento o un'aggregazione mentre viene utilizzato per filtrare i record dopo un raggruppamento o si verifica un'aggregazione.
1. "Uso della clausola SQL WHERE." Clausola WHERE nelle istruzioni SQL | Studytonight. Disponibile qui
2. Clausola di sospensione con funzioni SQL di gruppo | Tutorial DBMS | Studytonight. Disponibile qui
3. "Avere (SQL)." Wikipedia, Wikimedia Foundation, 3 marzo 2018. Disponibile qui
4. "Avere contro la clausola Where?" GeeksforGeeks, 9 maggio 2017. Disponibile qui