Contenuto

# Struttura ricerca

La vista Struttura ricerca permette di creare e modificare una ricerca in un database.

Per accedere a questo comando...

In una finestra di file di database, fate clic sull'icona Ricerche, quindi scegliete Modifica - Modifica.

La maggior parte dei database usa ricerche (query) per filtrare o per ordinare le tabelle del database ai fini della visualizzazione dei record sul computer. Le viste offrono la stessa funzionalità delle ricerche, ma sul lato server. Se il vostro database si trova su un server che supporta le viste, potete utilizzare questa funzionalità per filtrare i record sul server e accelerare il tempo di visualizzazione.

Selezionate il comando Crea vista dalla scheda Tabelle di un documento database, comparirà la finestra Struttura vista che somiglia alla finestra Struttura ricerca descritta qui.

La disposizione della finestra Struttura ricerca è memorizzata assieme alla ricerca creata, ma non può essere memorizzata assieme a una vista creata.

## La vista Struttura

Per creare una ricerca, fate clic sull'icona Ricerche in un documento database, quindi scegliete Crea ricerca in vista struttura.

La parte inferiore della vista struttura è l'area in cui potete definire la ricerca. A tale scopo, specificate i nomi dei campi del database da includere e i criteri per la loro visualizzazione. Per ridisporre le colonne nella parte inferiore della vista struttura, trascinate l'intestazione di una colonna nella posizione desiderata, oppure selezionate la colonna e premete Cmd Ctrl+tasto freccia.

La parte superiore della finestra vista Struttura ricerca mostra le icone della barra Struttura ricerca e della barra Struttura.

Per provare una ricerca, fate doppio clic sul nome della ricerca nel documento di database. Il risultato della ricerca viene visualizzato in una tabella simile alla vista della sorgente dati. Nota: la tabella visualizzata è solo temporanea.

### Tasti nella vista Struttura ricerca

Tasto | Funzione
--- | ---
F4 | Anteprima
F5 | Esegui ricerca
F7 | Aggiungi tabella o ricerca

## Sfoglia

Alla prima apertura della struttura ricerca, si apre una finestra di dialogo in cui dovete per prima cosa selezionare la tabella o la ricerca da utilizzare come base per la vostra nuova ricerca.

Fare doppio clic sui campi per aggiungerli alla ricerca. Trascinare e rilasciare (drag-and-drop) per definire le relazioni.

Durante la strutturazione della ricerca non potete modificare le tabelle selezionate.

### Rimuovi tabelle

Per eliminare una tabella dalla vista struttura fate clic sul margine superiore della finestra della tabella e aprite il menu di contesto. Con il comando Elimina la tabella viene rimossa dalla vista struttura. In alternativa potete anche premere il tasto Canc.

### Spostate le tabelle e modificatene la dimensione

Potete disporre le tabelle come desiderate e modificarne le dimensioni. Per spostare una tabella posizionate il mouse sul margine superiore e trascinatela nella posizione desiderata. Per ridurre o aumentare la dimensione del riquadro che contiene la tabella, trascinate il margine o un angolo della stessa.

## Relazioni tra tabelle

Se esistono relazioni di dati tra un campo di dati in una tabella e un campo di dati in un'altra tabella, avete la possibilità di sfruttare queste relazioni per la vostra ricerca.

Se, ad esempio, usate un foglio elettronico per gli articoli, in cui ognuno viene identificato da un numero di codice, e un altro foglio elettronico per i clienti, nel quale registrate tutti gli articoli ordinati da ogni cliente usando i rispettivi numeri di codice, esiste una relazione tra i due campi di dati "numero di codice". Se volete creare una ricerca che restituisca tutti gli articoli ordinati da un cliente, dovete richiamare i dati di entrambi i fogli elettronici. A tale scopo, dovete indicare a LibreOffice il tipo di relazione esistente tra i dati dei due fogli elettronici.

Per eseguire questa operazione fate clic su un campo di dati di una tabella (ad esempio il campo di dati "Numero articolo" nella tabella clienti) e trascinate con il mouse il campo di dati nell'altra tabella ("Numero articolo" nella tabella articoli). Rilasciando ora il pulsante del mouse, viene visualizzata una linea che collega i due campi tra le due finestre della tabella. Nella risultante ricerca SQL viene inserita la condizioni in base alla quale il contenuto di entrambi i campi di dati deve essere identico.

La creazione di una ricerca basata su più fogli elettronici correlati è possibile solo utilizzando LibreOffice come interfaccia per un database relazionale.

Le ricerche non possono accedere alle tabelle di diversi database. Le ricerche su più tabelle si possono eseguire solo all'interno di uno stesso database.

### Stabilire il tipo di relazione

Facendo doppio clic sulla linea che collega due campi correlati tra loro, o richiamando il comando Inserisci - Nuova relazione, potete specificare il tipo di relazione desiderato nella finestra di dialogo Relazioni.

In alternativa, premete Tab fino a selezionare la riga, quindi premete Maiusc+F10 per visualizzare il menu contestuale e scegliete il comando Modifica. Alcuni database supportano solo un sottoinsieme di possibili tipi di relazioni.

### Eliminare le relazioni

Per eliminare una relazione tra due tabelle, fate clic sulla linea di collegamento con il mouse e premete il tasto Canc.

In alternativa, eliminate le voci corrispondenti in Campi considerati nella finestra di dialogo Relazioni. Oppure, premete Tab fino a evidenziare il vettore di unione, quindi premete Maiusc+F10 per aprire il menu contestuale e scegliete il comando Elimina.

## Definire la ricerca

Selezionare le condizioni per definire la ricerca. Ogni colonna della tabella accetta un campo di dati per la ricerca. Le condizioni all'interno di una riga vengono collegate con un E logico.

### Specificare i nomi dei campi

Per prima cosa, selezionate tutti i nomi dei campi dalle tabelle che volete aggiungere alla ricerca. Lo potete fare, nella finestra della tabella, tramite Trascina selezione (drag-and-drop) oppure facendo doppio clic sul nome di un campo. Col primo metodo usate il mouse per trascinare il nome di un campo dalla finestra della tabella all'area sottostante della finestra della struttura ricerca. Potete decidere quale colonna, nella finestra della struttura ricerca deve accogliere il campo selezionato. Il nome di un campo è selezionabile anche tramite doppio clic del mouse: esso sarà aggiunto alla colonna libera successiva all'interno della finestra struttura ricerca.

### Rimuovere i campi di dati

Per rimuovere un campo di dati da una ricerca fate clic con il mouse sull'intestazione del campo e avviate il comando Cancella nel menu di contesto della riga.

### Salvare la ricerca

Facendo clic sull'icona Salva della barra degli strumenti Standard, la ricerca viene salvata. Si aprirà una finestra di dialogo in cui dovrete inserire un nome per la ricerca. Se il database supporta gli schemi, potrete inserire anche il nome di uno schema.

#### Schema

Digitare il nome dello schema che collega la ricerca/vista tabella.

#### Nome della ricerca / vista tabella

Digitare il nome della ricerca o della vista tabella.

### Filtraggio dei dati

Nella parte inferiore della finestra, nel modo struttura ricerca, impostate i criteri per filtrare i dati per la ricerca. Sono disponibili le opzioni seguenti:

#### Campo

Digitare il nome di un campo dati cui ci si riferisce all'interno della ricerca. Tutte le impostazioni fatte nelle righe delle opzioni del filtro si riferiscono a questo campo. Se qui attivate una cella con un clic del mouse noterete un pulsante a forma di freccia, che vi abilita alla selezione di un campo. L'opzione "Nome tabella.*" seleziona tutti i campi dati col risultato che i criteri specificati saranno applicati a tutti i campi della tabella.

#### Alias

È possibile specificare un alias per il campo. L'alias definito viene visualizzato nella ricerca al posto del nome del campo. Questa funzione permette di usare intestazioni personalizzate per le colonne. Se, ad esempio, il nome del campo dati è NumArt e volete invece che nella ricerca, al posto di questo nome, compaia il nome NumeroArticolo, potete specificare quest'ultimo come alias.

In un'istruzione SQL gli alias vengono definiti nel modo seguente:

SELECT colonna AS alias FROM tabella.

Ad esempio:

    SELECT "PtNo" AS "PartNum" FROM "Parts"

#### Tabella

Qui compare la tabella del database corrispondente al campo dati selezionato. Attivando questa cella con un clic del mouse, compare una freccia che permette di selezionare una tabella diversa per la ricerca attuale.

#### Ordinamento

Se si fa clic su questa cella, è possibile scegliere un'opzione di ordinamento: ascendente, discendente e non ordinata. I campi di testo saranno ordinati alfabeticamente e quelli numerici numericamente. Gli amministratori possono impostare le opzioni di ordinamento per la maggior parte dei database.

#### Visibile

Se si seleziona la proprietà Visibile per un campo di dati, questo sarà visualizzato in modo palese anche nella ricerca risultante. Se state utilizzando il campo di dati solo per la formulazione di una condizione o per fare un calcolo, non è necessario sia mostrato nella ricerca.

#### Criteri

Specifica un primo criterio in base al quale deve essere filtrato il contenuto del campo dati.

#### o

In questa cella potete digitare in ogni riga un ulteriore criterio di filtro per ciascuna riga. Più criteri in una colonna singola saranno interpretati come O booleano.

Inoltre tramite il menu di contesto delle intestazioni delle righe potete inserire un filtro basato su una funzione nell'area inferiore della finestra Struttura ricerca:

### Funzioni

Le funzioni qui disponibili dipendono da quelle fornite dal motore di database.

Se state lavorando con dei database HSQL incorporati, la casella di riepilogo nella riga Funzione vi offre le seguenti opzioni:

Opzione | SQL | Effetto
--- | --- | ---
Nessuna funzione |  | Non viene eseguita alcuna funzione.
Media | AVG | Calcola la media aritmetica di un campo.

Conteggio

COUNT

Determina il numero di record della tabella. I campi vuoti possono essere conteggiati (a) o esclusi (b).

a) COUNT(*): se come argomento indicate un asterisco, vengono contati tutti i dati della tabella.

b) CONTA.NUMERI(colonna): se un nome di campo viene indicato come argomento conta solo i record in cui il rispettivo campo specificato contiene un valore. I record con valore Null ('vuoto', ovvero privi di valore testuale o numerico) non vengono inclusi nel conteggio.

Massimo | MAX | Rileva il valore massimo di un record per quel campo.
Minimo | MIN | Rileva il valore minimo di un record per quel campo.
Somma | SUM | Calcola la somma dei valori dei record per i campi associati.
Gruppo | GROUP BY | Raggruppa i dati della ricerca in base al nome del campo selezionato. Le funzioni vengono eseguite in base ai gruppi specificati. In SQL, questa opzione corrisponde alla clausola GROUP BY. Aggiungendo un criterio, la nuova voce compare nella sotto-clausola SQL HAVING.

Potete anche inserire le chiamate alle funzioni direttamente nell'istruzione SQL. La sintassi è:

SELECT FUNCTION(colonna) FROM tabella.

In SQL l'avvio di funzione per la somma è:

    SELECT SUM("Prezzi") FROM "Articolo".

Fatta eccezione per la funzione Gruppo, le funzioni sopra elencate sono chiamate "funzioni aggregate". Si tratta di funzioni che raggruppano i dati in risultati tramite un calcolo. Sono inoltre possibili anche altre funzioni, che non sono elencate nella casella di riepilogo. Queste dipendono dagli specifici motori di database utilizzati dall'utente e dalle funzionalità fornite dal driver di Base utilizzato per collegarsi a quel motore di database.

Per utilizzare le altre funzioni non elencate, dovete immetterle manualmente come campi.

Potete anche assegnare nomi alias alle chiamate di funzione. Per evitare di visualizzare la stringa della query nell'intestazione della colonna, inserite il nome sostitutivo desiderato in Alias.

Nell'istruzione SQL un corrispondente avvio di funzione è:

SELECT FUNCTION() AS alias FROM tabella

Esempio:

    SELECT COUNT(*) AS quantità FROM "Articolo"

Se eseguite una tale funzione, non potrete inserire altre colonne per la ricerca, se non come argomento in una funzione "Gruppo".

Esempi

Nell'esempio seguente viene eseguita una ricerca attraverso due tabelle: una tabella "Articoli" con il campo "Nr_Articolo" e una seconda "Fornitori" con il campo "Nome_fornitore". Inoltre entrambe le tabelle hanno un nome di campo comune, "Nr_Fornitore".

Per creare una query che contenga tutti i fornitori in grado di consegnare più di tre articoli, sono necessari i seguenti passaggi.

1. Inserite la tabella "Articoli" e "Fornitori" nella struttura ricerca.

2. Se non esiste già una relazione tra le tabelle, collegate i campi "Nr_Fornitore" di entrambe le tabelle.

3. Fate doppio clic sul campo "Nr_Articolo" della tabella "Articoli". Tramite il menu di contesto visualizzate la voce Funzione e selezionate la funzione Count.

4. Come criterio digitate >3 e disattivate il campo Visibile.

5. Fate doppio clic sul campo "Nome_fornitore" della tabella "Fornitori" e selezionate la funzione Group.

6. Eseguite la ricerca.

Se nella tabella "Articoli" esistono i campi "Prezzo" (per il prezzo unitario di un articolo ) e "Nr_Fornitore" (per il fornitore dell'articolo), con questa ricerca potete ottenere la media dei prezzi per tutti gli articoli prodotti da un fornitore:

1. Inserite la tabella "Articoli" nella struttura ricerca.

2. Fate doppio clic sui campi "Prezzo" e "Nr_Fornitore".

3. Attivate la riga Funzione e nel campo "Prezzo" selezionate la funzione Media.

4. Nella riga per gli Alias potete inserire anche "Media" (senza le virgolette).

5. Selezionate Gruppo nel campo "Nr. fornitore".

6. Eseguite la ricerca.

Sono disponibili i seguenti menu di contesto e simboli:

### Funzioni

Visualizza o nasconde una riga per la selezione delle funzioni.

### Nome tabella

Visualizza e nasconde la riga per il nome tabella.

### Alias

Visualizza e nasconde la riga per il nome alias.

### Valori distinti

Recupera dalla ricerca solo i valori distinti. Si applica a più record che potrebbero contenere varie occorrenze ripetute nei campi selezionati. Se il comando Valori distinti è attivo, sarà visibile solo un record nella ricerca (DISTINCT). In caso contrario, si visualizzeranno tutti i record che corrispondono ai criteri della ricerca (ALL).

Se ad esempio il nome "Rossi" compare diverse volte nel vostro database degli indirizzi, potete scegliere il comando Valori distinti per farlo comparire una sola volta nella ricerca.

Per le ricerche che interessano più campi, è necessario che la combinazione di valori di tutti i campi sia unica, in modo che il risultato possa essere formulato da un record specifico. Ad esempio, supponete che la vostra rubrica contenga una volta la voce "Rossi di Milano" e due volte la voce "Rossi di Torino". Con il comando Valori distinti, la ricerca userà i due campi "cognome" e "città" e restituirà "Rossi di Milano" una volta e "Rossi di Torino" una volta.

In SQL, questo comando corrisponde al predicato DISTINCT.

### Limite

Consente di limitare il numero massimo di record restituiti da una ricerca.

Se viene aggiunto un costrutto Limite, otterrete tante righe quante quelle che avete specificato. In alternativa, vi appariranno tutti i record corrispondenti al criterio di ricerca.

### Formulare le condizioni di filtro

Per formulare le condizioni di filtro potete utilizzare vari comandi e operatori Oltre agli operatori relazionali, esistono comandi specifici di SQL che ricercano nel contenuto dei campi del database Utilizzando questi comandi nella sintassi di LibreOffice, quest'ultimo li converte automaticamente nella sintassi SQL corrispondente tramite un analizzatore interno. Potete anche inserire direttamente il comando SQL e aggirare l'analizzatore. Le tabelle seguenti riassumono gli operatori e i comandi disponibili:

Operatore | Significato | La condizione è soddisfatta se...
--- | --- | ---
= | uguale a | ... il contenuto del campo è uguale all'espressione indicata. L'operatore = non viene visualizzato nei campi di ricerca; se digitate un valore senza operatore, l'operatore = è desunto automaticamente.
<> | è diverso da | ... il contenuto del campo non corrisponde all'espressione indicata.
> | maggiore di | ... il contenuto del campo è maggiore dell'espressione indicata.
< | minore di | ... il contenuto del campo è minore dell'espressione indicata.
>= | maggiore di o uguale a | ... il contenuto del campo è maggiore o uguale all'espressione indicata.
<= | minore di o uguale a | ... il contenuto del campo è minore o uguale all'espressione indicata.

Comando di LibreOffice | Comando SQL | Significato | La condizione è soddisfatta se...
--- | --- | --- | ---
IS EMPTY | IS NULL | è zero | .. il campo di dati non contiene dati. Nei campi Sì/No con tre possibili stati, questo comando esamina lo stato indefinito (né sì, né no).
IS NOT EMPTY | IS NOT NULL | non è vuoto | ...il campo non è vuoto, ossia contiene dati.

LIKE

segnaposto (*) per qualsiasi numero di caratteri

segnaposto (?) per un solo carattere

LIKE

segnaposto (%) per qualsiasi numero di caratteri

segnaposto (_) per un solo esatto carattere

è parte integrante di

... il campo di dati contiene l'espressione indicata. I segnaposto (*) indicano qui se l'espressione x compare all'inizio (x*), alla fine (*x) o all'interno del contenuto del campo (*x*). Nelle ricerche SQL potete digitare come segnaposto il carattere SQL %, mentre nell'interfaccia di LibreOffice è necessario digitare i segnaposto tipici del file system (*).

Il segnaposto (*) o (%) viene utilizzato a piacere per molti caratteri. Nell'interfaccia di LibreOffice il punto interrogativo (?) viene utilizzato come segnaposto per un solo carattere, mentre nelle ricerche SQL viene utilizzato il carattere (_).

NOT LIKE | NOT LIKE | non è parte integrante di | ... il campo non contiene dati con l'espressione indicata.
BETWEEN x AND y | BETWEEN x AND y | è compreso nell'intervallo [x,y] | ... il campo contiene un valore di dati compreso tra i due valori x e y.
NOT BETWEEN x AND y | NOT BETWEEN x AND y | non è compreso nell'intervallo [x,y] | ... il campo contiene un valore di dati che non è compreso tra i due valori x e y.

IN (a; b; c...)

Fate attenzione al punto e virgola (;) come separatore in tutti gli elenchi valori.

IN (a, b, c...)

contiene a, b, c...

... il campo di dati contiene una delle espressioni indicate a, b, c,... . È possibile indicare a piacere più espressioni, il risultato della ricerca viene comunicato con un operatore booleano O. Le espressioni a, b, c... possono essere sia numeri, sia caratteri.

NOT IN (a; b; c...) | NOT IN (a, b, c...) | non contiene a, b, c... | ... il campo non contiene una delle espressioni indicate a, b, c,...
= TRUE | = TRUE | ha il valore True | ... il campo di dati ha il valore True.
= FALSE | = FALSE | ha il valore False | ... il valore del campo di dati è impostato su False.

### Esempi

='Donna' | restituisce campi di dati con il contenuto di campo "Donna".
<'2001-01-10' | restituisce le date antecedenti il 10 gennaio 2001
COME 'd?re' | restituisce record il cui contenuto del campo è "dire" o "dare".
LIKE 'S*' | restituisce record il cui contenuto del campo è "Sun".
BETWEEN 10 AND 20 | restituisce record con contenuti di campo compresi tra i valori 10 e 20. (In questo caso può trattarsi sia di campi di testo, che di campi numerici).
IN (1; 3; 5; 7) | restituisce record con i valori 1, 3, 5, 7. Se, ad esempio, il campo di dati contiene un numero di articolo, potete creare una ricerca che restituisce l'articolo specifico per il numero indicato.
NON IN ('Rossi') | restituisce record che non contengono "Rossi".

Like Sequenza di escape: {escape 'carattere-escape'}

Esempio:

    SELECT * FROM Item WHERE ItemName LIKE 'The *%' {escape '*'}

L'esempio restituisce tutte le voci nelle quali il nome dell'articolo inizia con 'The *'. In questo modo potete cercare anche caratteri che altrimenti vengono interpretati come segnaposto, quali *, ?, _, % o il punto.

Outer Join Sequenza di escape: {oj outer-join}

Esempio:

    SELECT Article.* FROM {oj item LEFT OUTER JOIN orders ON item.no=orders.ANR}

### Ricercare campi di testo

Per esaminare il contenuto di un campo di testo, dovete impostare l'espressione all'interno delle virgolette semplici. Non viene fatta alcuna differenza tra le maiuscole e le minuscole. LIKE, per definizione, distingue tra maiuscole e minuscole (sebbene alcuni database non lo interpretino in maniera così ristretta).

### Ricercare campi data

I campi data vengono rappresentati come #Date# per identificarli con precisione. La data, l'ora, e le costanti (letterali) data/ora utilizzati nelle condizioni possono essere di tipo sintassi SQL Escape o di sintassi SQL2 predefinita.

Elemento del tipo di data | Sintassi SQL Escape #1 - potrebbe essere obsoleta | Sintassi SQL Escape #2 | Sintassi SQL2
--- | --- | --- | ---
Data | {D'YYYY-MM-DD'} | {d 'YYYY-MM-DD'} | 'YYYY-MM-DD'
Ora | {D'HH:MM:SS'} | {t 'HH:MI:SS[.SS]'} | 'HH:MI:SS[.SS]'
DataOra | {D'YYYY-MM-DD HH:MM:SS'} | {ts 'YYYY-MM-DD HH:MI:SS[.SS]'} | 'YYYY-MM-DD HH:MI:SS[.SS]'

Esempio:

    SELECT {d '1999-12-31'} FROM world.years

Esempio:

    SELECT * FROM mytable WHERE years='1999-12-31'

Tutte le espressioni di data (letterali di data) devono essere racchiuse tra virgolette singole (per ulteriori informazioni, consultate la documentazione relativa allo specifico database e al connettore che state utilizzando).

### Ricercare campi Sì/No

Per eseguire ricerche nei campi Sì/No nelle tabelle dBase, utilizzate la seguente sintassi:

Stato | Criterio di ricerca | Esempio
--- | --- | ---
Sì | per le tabelle dBASE: non uguale a qualsiasi valore dato | =1 restituisce tutti i record di dati nei quali il campo Sì/No ha la condizione "Sì" o "on" (contrassegno nero).
No | . | =0 restituisce tutti i campi di dati nei quali il campo Sì/No ha la condizione "No" o "off" (nessun contrassegno).
Vuoto | È ZERO | È ZERO restituisce tutti i record di dati nei quali il campo Sì/No non ha nessuna delle due condizioni Sì o No (contrassegno grigio).

La sintassi dipende dal sistema di database utilizzato. Tenete presente inoltre che i campi Sì/No possono essere definiti in modo differente (solo con 2 stati invece di 3).

### Ricerche di parametri

Le ricerche di parametro consentono all'utente di immettere valori al tempo di esecuzione (runtime). Questo valori sono utilizzati all'interno dei criteri per selezionare i record da visualizzare. Ciascun valore dato è associato a un nome di parametro, il quale viene utilizzato per avvisare l'utente quando è avviata la ricerca.

I nomi di parametro sono preceduti dai due punti sia nella vista struttura, sia nella vista SQL di una ricerca. Questo è applicabile ovunque possa apparire un valore. Se lo stesso valore deve apparire più di una volta nella ricerca, viene utilizzato lo stesso nome di parametro.

Nel caso più semplice, laddove l'utente inserisca un valore che viene individuato per uguaglianza, il nome di parametro, assieme ai due punti che lo precedono, va semplicemente inserito nella riga Criterio. In modo SQL questo deve essere digitato come WHERE "Campo" = :Nome_parametro

I nomi di parametro non possono contenere i caratteri <space>`!"$%^*()+={}[]@'~#<>?/,. Non possono essere uguali ai nomi di campo o alle parole riservate SQL. Possono essere uguali agli alias.

Un costrutto utile per la selezione dei record basata su parti del contenuto di un campo di testo è aggiungere una colonna nascosta con "LIKE '%' || :Parte_del_campo || '%'" come criterio. Il costrutto selezionerà i record con corrispondenza esatta. Se si richiede un test che non consideri le maiuscole/minuscole, una soluzione è usare LOWER (Nome_Campo) come campo e LIKE LOWER ( '%' || :Parte_del_campo || '%' ) come criterio. Da notare che gli spazi nel criterio sono importanti; se vengono esclusi, l'analizzatore SQL considera l'intero criterio come una stringa da individuare. In modo SQL ciò deve essere digitato come LOWER ( "Nome_Campo" ) LIKE LOWER ( '%' || :Parte_del_campo || '%' ).

Le ricerche di parametro possono essere utilizzate come sorgente dati per i formulari secondari, al fine di consentire all'utente di ridurre i record visualizzati.

### Specifica parametro

La finestra di dialogo Specifica parametro chiede all'utente di inserire i valori del parametro. Inserire un valore per ciascun parametro di ricerca e confermare facendo clic su OK o premendo Invio.

I valori inseriti dall'utente possono comprendere qualsiasi carattere consentito da SQL per il criterio attinente; ciò può dipendere dal sistema di database su cui si lavora.

L'utente può utilizzare i caratteri jolly SQL "%" (stringa arbitraria) o "_" (singolo carattere arbitrario) come parte del valore, al fine di recuperare record in base a criteri più complessi.

## Modo SQL

SQL è l'abbreviazione di "Structured Query Language" e descrive le istruzioni per cercare, aggiornare e gestire database relazionali.

In LibreOffice, per la maggior parte delle ricerche non è necessario che conosciate il linguaggio SQL, poiché non dovete inserire il codice SQL. Se create una ricerca con la struttura ricerca, LibreOffice converte automaticamente le vostre istruzioni nella sintassi SQL corrispondente. Attivando la vista SQL con il pulsante Vista struttura sì/no, potete vedere i comandi SQL per le ricerche già create.

Potete formulare la ricerca direttamente in codice SQL. In questo caso è opportuno ricordare che la sintassi speciale dipende dal sistema di database in uso.

Se inserite manualmente il codice SQL, potete creare ricerche SQL specifiche che non devono essere supportate dall'interfaccia grafica nella Struttura ricerca. Queste ricerche devono essere eseguite in modo SQL nativo.

Con un clic sull'icona Esegui direttamente il comando SQL nella vista SQL, potete formulare una ricerca che sia inviata direttamente al motore di database, evitando che venga elaborata da LibreOffice.