Query: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
prosa |
||
(125 versioni intermedie di 77 utenti non mostrate) | |||
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 estrarre informazioni dal contenuto di una [[base di dati]]. Quest'ultima è in genere [[Struttura dati|strutturata]] secondo il [[modello relazionale]], che permette di compiere determinate operazioni sui [[dati]] (come selezione, inserimento, cancellazione o aggiornamento).
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]].
Un altro uso termine query è per indicare una conversazione privata tra due utenti di una chat, come ad esempio in [[Internet Relay Chat|IRC]].▼
Il risultato di una ''query'' è oggetto di studio dell'[[algebra relazionale]].
== SQL ==▼
==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
''select * from TABELLA1'' ▼
Una semplice [[query SQL]] di selezione può essere la seguente:
▲Una Query inizia classicamente con il comando ''select'', che apre una stringa di interrogazione sul DB; ''*'' sta per all, ovvero tutti (i campi della tabella); ''from'' dichiara l'origine dei dati, ovvero, nell'esempio, la TABELLA1.
:<syntaxhighlight lang="sql">
</syntaxhighlight>
Si possono aggiungere criteri restrittivi di selezione (filtri), introdotti abitualmente attraverso la clausola aggiuntiva <samp>WHERE</samp>. Vediamo un esempio:
''select * from TABELLA1 where CAMPO1 = 1000;''▼
:<syntaxhighlight lang="sql">
</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]].
==Voci correlate==▼
* [[Query language]]▼
Le operazioni tipiche di query che saranno possibili su una tabella, già 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>).
{{portale|informatica}}▼
=== Tipi di query ===
Esistono diversi tipi di query:
* Query di selezione: è possibile estrarre i dati (<samp>SELECT</samp>) da una o più tabelle e visualizzarli in una nuova tabella.
* Query di accodamento: consente di aggiungere (<samp>INSERT</samp>) a tabelle già esistenti un gruppo di [[record (database)|record]] in base a dei criteri specifici.
* Query di aggiornamento: consente di modificare (<samp>UPDATE</samp>) il valore di uno o più campi in corrispondenza di un intervallo selezionato di records esistenti.
* Query di eliminazione: consente di cancellare (<samp>DELETE</samp>) uno o più record dipendentemente dai criteri inseriti nella creazione della query. <ref>{{cita web|url=https://support.microsoft.com/it-it/office/introduzione-alle-query-a9739a09-d3ff-4f36-8ac3-5760249fb65c|titolo=Introduzione alle query}}</ref>
* Query a campi incrociati: permette di "incrociare" i campi di più tabelle in modo tale da ottenere una matrice in cui le righe corrispondono normalmente a campi di tipo descrittivo e riepilogativo, mentre le colonne corrispondono a totali o conteggi. Vengono chiamate anche query ''pivot'', poiché i dati che risultano alla fine della creazione sono simili alle tabelle pivot di un [[foglio di calcolo]].
* 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]], in 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) e 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 ==
▲
<references/>
▲== Voci correlate ==
* [[Base di dati]]
* [[SQL]]
* [[Linguaggio di interrogazione]]
* [[Linguaggio di manipolazione dei dati]]
* [[Information retrieval]]
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{FOLDOC||query}}
▲{{portale|informatica}}
[[Categoria:Teoria delle basi di dati]]
|