Query
In informatica il termine query viene utilizzato per indicare l'interrogazione di un database per compiere determinate operazioni sui dati (selezione, inserimento, cancellazione dati, ecc.). Solitamente una query viene interpretata, dal linguaggio SQL (Structured Query Language) per renderla più comprensibile al DBMS. L'analisi del risultato della query è oggetto di studio dell'algebra relazionale.
Descrizione
Esistono svariati tipi di DBMS (ad es. MySQL, Oracle, Interbase, Postgres) che hanno sviluppato una loro specifica sintassi, anche se come standard di riferimento hanno tutti l'SQL ANSI.
Una query di selezione inizia classicamente con il comando select, che apre una stringa di interrogazione sul database; * sta per all, ovvero tutti (i campi della tabella); from dichiara l'origine dei dati, ovvero, nell'esempio, STATI.
Una semplice ed esemplificativa query SQL di selezione può essere la seguente:
select * from STATI
Si possono aggiungere criteri restrittivi di selezione introdotti abitualmente dal comando WHERE. Vediamo un esempio:
select * from STATI where CONTINENTE = "Europa";
In questo caso la query restituirà, tra tutti i record, solo quelli che avranno nel campo CONTINENTE il valore "Europa". Se al posto dell'operatore logico = si usa <> verranno selezionati i record diversi dal valore immesso.
Si possono inoltre combinare più filtri di ricerca, uniti dall'operatore and e or, ottenendo una condizione per la quale una query deve essere valida, oppure combinare più query insieme (tramite la funzione Join).
Tipi di query
Esistono diversi tipi di query:
- Query di selezione: è possibile estrarre i dati da una o più tabelle e visualizzarli in una nuova tabella.
- Query di accodamento: consente di aggiungere a tabelle già esistenti un gruppo di record in base a dei criteri specifici.
- Query di eliminazione: consente di cancellare uno o più record dipendentemente dai criteri inseriti nella creazione della query.
- 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 aggiornamento: consente di modificare il valore di uno o più campi in corrispondenza di un intervallo selezionato di records esistenti.
Esistono inoltre le query annidate dove il filtro della query è dato da un'altra query.
Altri ambiti
Il termine query è anche usato per indicare una conversazione privata tra due utenti di una chat, come ad esempio in IRC.