Query: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
fix ita |
prosa |
||
(6 versioni intermedie di 4 utenti non mostrate) | |||
Riga 1:
{{nota disambigua|descrizione=l'omonima
{{F|basi di dati|novembre 2013}}
In [[informatica]], una '''''query''''', o '''interrogazione''', è un comando scritto dall'utente per
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]]
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,
=== Tipi di query ===
Line 33 ⟶ 35:
* 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]],
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)
== Altri ambiti ==
Il termine query è anche usato per indicare una conversazione privata tra due utenti di una [[chat]], come ad esempio in [[Internet Relay Chat|IRC]].
== Note ==
<references/>
== Voci correlate ==
Line 54 ⟶ 59:
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{FOLDOC||query}}
{{portale|informatica}}
|