Query di Selezione in Linguaggio SQL

Le query sono delle interrogazioni sui database per ottenere informazioni, modificare i valori oppure cancellare i dati. In questo articolo affronteremo la prima di queste tipologie di query, quella di selezione dei dati.

Chi desidera iniziare a studiare la programmazione di applicazioni gestionali, deve conoscere molto bene la formulazione di una query, perché questa operazione consente di delegare il lavoro ad un DBMS già ottimizzato per questo lavoro e se questo database risiede su di un server dedicato, allora le prestazioni saranno anche eccellenti.

In quasi tutti i DBMS le query vengono impostate utilizzando il linguaggio SQL ( Structured Query Language ) inventato inizialmente da IBM per i propri server dati e successivamente adottato da moltissimi altri, tanto da essere diventato uno standard; Microsoft per i suoi database utilizza dei dialetti SQL come per esempio Transact-SQL per SQL Server, il suo prodotto commerciale. Negli ambienti dedicati ai database, è possibile salvare delle query assegnandole un nome, in questo caso parliamo di view ( vista ).

Veniamo al linguaggio SQL standard spiegando quale sia la sintassi dei comandi da dare al DBMS, in particolare l’istruzione SELECT che serve per recuperare dei dati in base a determinati criteri ed in un determinato ordine:

SELECT [campi] FROM [tabella] WHERE [condizione] ORDER BY [ordinamento]

Vediamo un esempio pratico: scaricate il database dei nomi in Italiano da questa pagina, apritelo con Access e poi scrivete questa query ( quando andate a creare una nuova query in visualizzazione struttura, non inserite nessuna tabella e premete su chiudi, quindi in alto a sinistra premere il pulsante con la scritta SQL, così entrerete nell’editor di query ).

SELECT * FROM Nomi

Premere sul tasto esegui query ( quello con il pulsante esclamativo rosso ) e visualizzate il risultato. Con questa istruzione abbiamo estratto tutti i valori, possiamo anche prendere solo quelli che iniziano per “S”:

SELECT Nome FROM Nomi WHERE Nome LIKE ‘S*’

Come potete notare abbiamo inserito il testo da filtrare tra apici singoli ed utilizzato l’asterisco ( * ) come carattere jolly, in altri DBMS il carattere jolly risulta essere il simbolo di percentuale ( % ). Ora se vogliamo presentare il risultato in ordine alfabetico crescente dobbiamo utilizzare questa istruzione:

SELECT Nome FROM Nomi WHERE Nome LIKE ‘S*’ ORDER BY Nome

Le viste hanno questi ruoli all’interno di un’applicazione gestionale:

  • Isolamento dell’applicazione dalla struttura dati: a volte capita di dover lavorare su database già strutturati, grazie alle viste è possibile creare delle tabelle virtuali con la struttura richiesta.
  • Sicurezza: una tabella potrebbe contenere delle informazioni riservate, con una vista è possibile mostrare solo i campi che non contengono dati riservati.
  • Calcoli: in una vista è possibile mostrare dei campi che sono dei calcoli matematici, caratteristica che vedremo in una prossimo articolo ed evitare in questo modo dati ridondanti.
  • Modifiche: una query può anche essere utilizzata per inserire, aggiornare e cancellare i dati, caratteristiche che vedremo in prossimi articoli dedicati ai database.

In questo articolo abbiamo introdotto l’uso delle query utilizzando il linguaggio SQL, abbiamo anche fatto i primi esempi di viste, del filtraggio dei dati e del loro ordinamento.

Informazioni su Giampaolo Rossi

Sviluppatore software da oltre 18 anni
Questa voce è stata pubblicata in Database e contrassegnata con , . Contrassegna il permalink.