Query: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
parametro della nota disambigua
prosa
 
Riga 1:
{{nota disambigua|descrizione=l'omonima pubblicazione periodica del [[CICAP]]|titolo=Query (rivista)}}
{{F|basi di dati|novembre 2013}}
In [[informatica]], una '''''query''''', o '''interrogazione''', è un comando scritto dall'utente per ricavareestrarre informazioni riguardanti ildal contenuto di una [[base di dati]]. LaQuest'ultima baseè diin datigenere è generalmente[[Struttura dati|strutturata]] secondo il [[modello relazionale]], che permette di compiere determinate operazioni sui [[dati]] (come selezione, inserimento, cancellazione o aggiornamento). Solitamente

Di solito, le interrogazioni vengono scritte in un [[linguaggio di interrogazione]] [[interprete (informatica)|interpretato]], come [[Structured Query Language|SQL]], e si interfacciano al [[Database management system|sistema di gestione della base dati]].
 
Il risultato di una ''query'' è oggetto di studio dell'[[algebra relazionale]].
 
==Descrizione==
Esistono svariati tipi di sistemi di gestione, detti [[Database management system|DBMS]] (per es. [[MySQL]], [[Oracle Database|Oracle]], [[Interbase]], [[Postgres]]), che hanno sviluppato una loro specifica [[sintassi (informatica)|sintassi]];, ma come [[standard (informatica)|standard]] di riferimento hanno tutti l'[[SQL]] [[ANSI]].
 
Una query di selezione inizia classicamente con il comando <samp>[[Select (SQL)|SELECT]]</samp>, che apre una [[Stringa (linguaggi formali)|stringa di interrogazione]] sul database; il simbolo <samp>*</samp> (''all'') è un [[metacarattere]] che seleziona tutti i campi della tabella; <samp>FROM</samp> dichiara l'origine dei dati (nell'esempio sottostante, la [[tabella]] STATI).
 
Una semplice [[query SQL]] di selezione può essere la seguente:
 
:<syntaxhighlight lang="sql">
Line 16 ⟶ 18:
</syntaxhighlight>
 
Si possono aggiungere criteri restrittivi di selezione (filtri), introdotti abitualmente attraverso la clausola aggiuntiva <samp>WHERE</samp>. Vediamo un esempio:
 
:<syntaxhighlight lang="sql">
Line 22 ⟶ 24:
</syntaxhighlight>
 
In questo caso, la query restituirà, tra tutti i [[record (database)|record]], solo quelli che avranno nel campo <samp>CONTINENTE</samp> il valore "<samp>Europa</samp>". Se al posto dell'operatore logico di confronto <samp>=</samp> si usa invece <samp><></samp> verranno selezionati tutti i record diversi dal valore immesso.
 
Si possono inoltre combinare più filtri di ricerca, uniti dall'[[operatore (informatica)|operatore]] [[logica booleana|logico]] <samp>[[Algebra di Boole#AND|and]]</samp> e <samp>[[Algebra di Boole#OR|or]]</samp>, ottenendo una condizione per la quale una query deve essere valida oppure combinare più query insieme tramite la clausola [[Join (SQL)|Join]].
 
Le operazioni tipiche di query che saranno possibili su una tabella, precedentementegià definita e creata nella sua struttura tramite il [[Data Definition Language]] (DDL), sono quelle riassunte nell'acronimo [[CRUD]], ovvero: C, creazione o inserimento dei record (<samp>INSERT</samp>),; R, lettura (<samp>SELECT</samp>),; U, aggiornamento (<samp>UPDATE</samp>),; D cancellazione (<samp>DELETE</samp>).
 
=== Tipi di query ===
Line 37 ⟶ 39:
* Query di creazione tabella: se lo si desidera, le righe prodotte da una query possono anche alimentare i record di una nuova tabella mediante una query di creazione tabella, facendo sempre riferimento alla scheda Struttura, gruppo Tipo di query. <ref>{{cita web|url=https://syrusindustry.com/wiki/query|titolo=TIPOLOGIE DI QUERY}}</ref>
 
Esistono inoltre le [[query annidate]], dovein cui il filtro della query è dato da un'altra query.
 
Esistono anche le query di raggruppamento, tramite cui è possibile raggruppare righe in base ad uno o più campi. in questo caso, ogni gruppo è costituito da righe aventi dati uguali nel campo indicato (detto appunto campo raggruppato) ede occuperà una sola riga dell'elenco prodotto dalla query. Le principali funzioni native di Access da applicare ad ogni raggruppamento sono quelle di somma, conteggio, media, minimo e massimo.
 
== Altri ambiti ==