Modul
Indhold
Indholdsfortegnelse 🔎︎

# Forespørgselsdesign

Forespørgselsdesignvisning giver dig mulighed for at oprette og redigere en databaseforespørgsel.

For at tilgå denne kommando...

I et databasefilvindue skal du klikke på ikonet Forespørgsler og derefter vælge Rediger - Rediger

De fleste databaser bruger forespørgsler til at filtrere eller sortere databasetabellerne, når data skal vises. Visninger (views) tilbyder den samme funktionalitet som forespørgsler, men på serverens side. Hvis din database er på en server, som understøtter visninger, kan du bruge visninger til at filtrere dataposterne på serveren. Det vil normalt forbedre svartiden.

Ved at vælge Opret visning fra fanenTabeller i et database dokument, ser du vinduet Designvisning som gør det samme som vinduet Forespørgselsdesign som beskrives her.

Vinduet Forespørgselsdesign layout bliver gemt med en oprettet forespørgsel, men kan ikke lagres med en oprettet visning.

## Designvisningen

For at oprette en forespørgsel klikker du på ikonet Forespørgsler i et databasedokument, og dernæst på Opret forespørgsel i designvisning.

I den nederste rude i Designvisningen kan du definere forespørgslen. For at definere en forespørgsel angiver du de af databasens feltnavne, som skal indgå, samt kriterier for visning af felterne. For at omarrangere kolonnerne i den nederste rude i Designvisningen trækker du en kolonneoverskrift til en ny placering, eller vælg kolonnen og tryk på KommandoCtrl+piletast.

Øverst i forespørgslens Designvisningsvindue, vises ikonerne for værktøjslinjerne Forespørgselsdesign og Design.

Hvis du vil teste en forespørgsel, dobbeltklikker du på forespørgslens navn i databasedokumentet. Forespørgslens resultat vises i en tabel, der ligner datakildevisningen. Bemærk: Den viste tabel er kun midlertidig.

### Taster i forespørgselsdesignvisning

Nøgle | Funktion
F4 | Forhåndsvisning
F5 | Udfør forespørgsel
F7 | Tilføj tabel eller forespørgsel

## Gennemse

Når du åbner forespørgselsdesignet for første gang, ser du en dialogboks, hvor du først skal vælge den tabel eller forespørgsel, som vil danne grundlag for din nye forespørgsel.

Tilføj felter til forespørgslen ved at dobbeltklikke på dem. Træk og slip for at angive relationer.

Mens du designer en forespørgsel, kan du ikke modificere de valgte tabeller.

### Fjerne tabeller

For at fjerne tabellen fra designvisning, klik på den øverste kant af tabelvinduet og vis genvejsmenuen. Du kan bruge kommandoen Slet for at fjerne tabellen fra designvisningen. En anden mulighed er at trykke på Delete-tasten.

### Flytte tabel og rette tabellens størrelse

Du kan ændre størrelsen og arrangere tabellerne efter hvad du selv synes. For at flytte tabeller, træk den øverste kant til den ønskede position. Forstør eller formindsk størrelsen tabellen vises i ved at placering markøren på en kant eller et hjørne og trækker tabellen indtil den har den ønskede størrelse.

## Tabelrelationer

Hvis der er datarelationer mellem et feltnavn i en tabel og et feltnavn i en anden tabel, kan du bruge disse relationer til din forespørgsel.

Hvis du for eksempel har et regneark til artikler, der er identificeret med artikelnumre, og et regneark til kunder, hvor du noterer alle artikler som en kunde bestiller ved bruge de tilsvarende artikelnumre, så er der et forhold mellem de to "artikelnummer" datafelter. Hvis du nu vil oprette en forespørgsel som returnerer alle artikle,r som en kunde har bestilt, skal du hente data fra to regneark. For at gøre dette, skal du fortælle LibreOffice, hvilken sammenhæng, der findes mellem data i de to regneark.

For at gøre dette, klikker du på et feltnavn i en tabel (for eksempel, feltnavnet "Elementnummer" fra Kundetabellen), holder museknappen nede og trækker så feltnavnet over i feltnavnet i den anden tabel ("Elementnummer" fra Elementtabellen). Når du slipper museknappen, vil en linje forbinde de to felter i de to vinduer. Den tilsvarende betingelse, at indholdet af de to feltnavne skal være identiske, indtastes i den resulterende SQL-forespørgsel.

Oprettelsen af en forespørgsel som er baseret på flere relaterede ark er kun mulig hvis du bruger LibreOffice som grænsefladen til en relationsdatabase.

Du kan ikke få adgang til tabeller fra forskellige databaser i en forespørgsel. Forespørgsler som involverer flere tabeller kan kun være oprettet indenfor en database.

### Specificering af relationstypen

Hvis du dobbeltklikker på linjen, der forbinder to linkede felter, eller benytter menukommandoen Indsæt - Ny relation, kan du angive typen af kæde i dialogen Relationer.

Alternativt kan du trykke tabulator, indtil linjen er valgt, trykke Skift+F10 for at vise genvejsmenuen og der vælge kommandoen Rediger der. Visse databaser understøtter kun en del af de mulige typer af join.

### Slette relationer

For at slette en relation mellem to tabeller, klik på forbindelseslinjen og tryk derefter på Delete-tasten.

Alternativt, slet de tilsvarende punkter i Involverede felter i dialogen Relationer. Eller tryk på tabulatortasten indtil den forbindende vektor bliver vist fremhævet, tryk så Skift+F10 for at åbne genvejsmenuen og vælg kommandoen Slet.

## Definering af forespørglen

Marker betingelser for at angive forespørgslen. Hver kolonne i designtabellen accepterer et datafelt for forespørgslen. Betingelserne i en række er kædet med et logisk AND.

### Specificering af feltnavne

Først markerer du alle feltnavne i tabellerne, som du vil føje til forespørgslen. Du kan gøre dette enten ved at trække og slippe eller ved at dobbeltklikke på et feltnavn i tabelvinduet. Med træk-og-slip metoden bruger du musen til at trække et feltnavn fra tabelvinduet ind i det nederste område i vinduet Forespørgselsdesign. Imens kan du bestemme, hvilken kolonne du vil tilføje feltet til. Feltnavnet kan også markeres ved at dobbeltklikke. Det vil så blive tilføjet næste ledige kolonne i vinduet Forespørgselsdesign.

### Slette feltnavne

For at fjerne et feltnavn fra forespørgslen, klikker du på kolonneoverskriften for feltet og vælger kommandoen Slet på genvejsmenuen for kolonnen.

### Lagring af forespørgslen

Brug ikonet Gem på Standardværktøjslinjen for at gemme forespørgslen. Der kommer en dialog, som beder dig indtaste et navn til forespørgslen. Hvis databasen understøtter skemaer, kan du også indtaste et skemanavn.

#### Skema

Indtast navnet på det skema der er tildelt til forespørgslen eller tabelvisningen.

#### Forespørgselsnavn eller tabelvisningsnavn

Indtast navnet på forespørgslen eller tabelvisningen.

### Filtrere data

For at filtrere data til forespørgslen indsætter du de ønskede kriterier i den nederste del af designvinduet. Følgende linjer er tilgængelige:

#### Felt

Indtast navnet på det datafelt, som du refererede til i forespørgslen. Alle indstillinger i rækker med filterindstillinger henviser til dette felt. Hvis du aktiverer en celle med et museklik, vil du se en pileknap, som lader dig vælge et felt. "Tabelnavn.*"-indstillingen markerer alle datafelter, så de specificerede kriterier gælder alle tabelfelter.

#### Alias

Angiver et alias. Dette alias vil være stå i forespørgslen i stedet for feltnavnet. Dette gør det muligt at anvende brugerdefinerede kolonneetiketter. For eksempel, hvis datafeltet har navnet VrNr, og du hellere vil have, at Varenummer vises i forespørgslen, indtaster du Varenummer som alias.

I et SQL-udtryk defineres aliaser på denne måde:

SELECT kolonne AS alias FROM tabel.

For eksempel:

SELECT "VrNr" AS "Varenummer" FROM "dele"

#### Tabel

Den databasetabel, der svarer til det markerede datafelt står her. Hvis du aktiverer en celle med et museklik, vises en pil, som lader dig vælge en anden tabel fra den aktuelle forespørgsel.

#### Sortere

Hvis du klikker på denne celle, kan du vælge en sorteringsindstilling: stigende, faldende og ikke sorteret. Tekstfelter bliver sorteret alfabetisk og numeriske felter numerisk. I de fleste databaser kan administratorer indstille sorteringen på databaseniveau.

#### Synlig

Hvis du markerer egenskaben Synlig for et datafelt, bliver feltet synligt i forespørgslen. Hvis du kun bruger et datafelt til at formulere en betingelse eller udføre en beregning, har du ikke nødvendigvis brug for at feltet vises.

#### Kriterier

Specificerer det første kriterie, indholdet i datafeltet bliver filtreret efter .

#### eller

Her kan du indtaste endnu et kriterium til filtrering i hver linje. Flere kriterier i en kolonne vil blive fortolket som boolsk OR (eller).

Du kan også bruge linjoverskrifternes genvejsmenu nederst i vinduet forespørgselsdesign til at indsætte et filter på basis af en funktion:

### Funktioner

Hvilke funktioner, du kan køre her, afhænger af databasemotoren.

Hvis du arbejder med den indbyggede HSQL-database, vil rullelisten i rækken Funktion give dig mulighed for at vælge følgende indstillinger:

Indstilling | SQL | Effekt
Ingen funktion |  | Ingen funktion vil blive udført.
Middel | AVG | Beregner den aritmetiske middelværdi af et felt.
Tæl | COUNT | Bestemmer antallet af dataposter i tabellen. Tomme felter kan enten tælles (a) eller udelukkes (b). A) COUNT(*): Overføres en stjerne som argument tæller alle dataposter i tabellen. b) TÆL(kolonne): At lade et feltnavn gælde som et argument tæller kun de poster, hvor felterne i det nævnte feltnavn indeholder en værdi. Poster med Nul-værdier (dvs. felter uden tegn) vil ikke blive talt.
Maksimum | MAX | Bestemmer den højeste værdi af en post i feltet.
Minimum | MIN | Bestemmer den laveste værdi af en post i feltet.
Sum | SUM | Beregner summen af værdierne af posterne i de tilknyttede felter.
Gruppe | GROUP BY | Grupperer forespørgselsdata efter det valgte feltnavn. Funktioner bliver udført i henhold til den angivne gruppe. I SQL svarer denne indstilling til GROUP BY- sætningen. Hvis et kriterie tilføjes, vises det i undersætningen SQL HAVING.

Du kan også indtaste funktionskald direkte i SQL-sætningen. Syntaksen er:

SELECT FUNCTION(kolonne) FROM tabel.

For eksempel, funktionskaldet i SQL til at beregne en sum er:

SELECT SUM("Pris") FROM "Artikel".

Bortset fra Gruppe-funktionen, er de ovennævnte funktioner såkaldte sammensatte funktioner. Det er funktioner, der beregner data for at oprette sammenfatninger af resultaterne. Yderligere funktioner som ikke er på rullelisten kan også være mulige. De afhænger af den specifikke databasemotor, der bruges, og af de aktuelle funktioner, som stilles til rådighed af den databasedriver, der bruges til forbindelse med databasemotoren.

For at benytte andre funktioner der ikke er i rullelisten, skal du indtaste dem under Felt.

Du kan også tildele aliaser til funktionskald. Hvis forespørgslen ikke skal vises i kolonneoverskriften, indtaster du det ønskede navn under Alias.

Den tilsvarende funktion i en SQL-sætning er:

SELECT FUNCTION() AS aliasnavn FROM tabel

Eksempel:

SELECT COUNT(*) AS Antal FROM "Element"

Hvis du kører denne funktion, kan du ikke indsætte yderligere kolonner for forespørgslen på andre måder end som et argument i en "Gruppe" funktion.

Eksempler

I det følgende eksempel, køres en forespørgsel gennem to tabeller: en "Element" tabel med feltet "Vare_Nr" og en "Leverandør" tabel med feltet "Leverandør_Navn". Begge tabeller har et fælles feltnavn "Leverandør_Nr."

Det følgende trin er nødvendigt for at oprette en forespørgsel der indeholder alle leverandører der leverer mere end tre elementer.

1. Indsæt "Element" og "Leverandør" tabellerne i forespørgselsdesignet.

2. Sammenkæd feltet "Leverandør_Nr" i de to tabeller hvis der ikke allerede er en relation af denne type.

3. Dobbeltklik på "Vare_Nr" feltet fra tabellen "Element". Vis linjen Funktion ved at bruge genvejsmenuen og vælg funktionen Tæl.

4. Indtast >3 som et kriterium og deaktiver det synlige felt.

5. Dobbeltklik på feltet "Leverandør_Navn" i tabellen "Leverandør" og vælge funktionen Gruppe.

6. Kør forespørgslen.

Hvis felterne "Pris" (den individuelle pris på en artikel) og "Leverandør_Nr" (leverandøren af denne artikel) findes i tabellen "Element", kan du få gennemsnitsprisen på et element som en leverandør giver med følgende forespørgsel:

1. Indsæt tabellen "Element" i forespørgselsdesignet.

2. Dobbeltklik på felterne "Pris" og "Leverandør_Nr".

3. Aktiver linjen Funktion og marker Middelfunktionen fra feltet "Pris".

4. Du kan også indtaste "Middel" i linjen til aliasnavnet (uden anførselstegn).

5. Vælg Gruppering for feltet "Leverandør_Nr".

6. Kør forespørgslen.

De følgende menukommandoer og symboler er tilgængelige i en genvejsmenu:

### Funktioner

Viser eller skjuler en række til markering af funktioner.

### Tabelnavn

Viser eller skjuler rækken for tabelnavnet.

### Aliasnavn

Viser eller skjuler rækken for aliasnavnet.

### Entydige værdier

Henter kun entydige værdier fra forespørgslen. Dette gælder for flere dataposter, der kan indeholde data, som fremtræder flere gange i de valgte felter. Hvis kommandoen Entydige værdier er aktiv, vil du kun se én datapost i forespørgslen (DISTINCT). Ellers vil du se alle dataposter svarende til forespørgslens kriterium (ALL).

For eksempel, hvis navnet "Smith" forekommer adskillige gange i din adressedatabase, kan du vælge kommandoen Entydige værdier for at angive i forespørgslen, at navnet "Smith" kun skal forekomme én gang.

For en forespørgsel, som involverer adskillige felter, skal kombinationen af værdier fra alle felter være unikke, så resultatet kan være skabt fra en bestemt datapost. For eksempel kan du have "Smith i Chicago" én gang i din adressebog og "Smith i London" to gange. Med kommandoen Entydige værdier, vil forespørgslen bruge de to felter "efternavn" og "by" og returnere forespørgselsresultat "Smith i Chicago" én gang og "Smith i London" én gang.

I SQL svarer denne kommando svarer til prædikatet DISTINCT.

### Grænseværdi

Giver dig mulighed for at begrænse det maksimale antal poster, der returneres af en forespørgsel.

Hvis en Begrænsning er tilføjet, vil du få lige så mange rækker som tallet angiver. Ellers vil du se så mange rækker som forespørgselskriterierne angiver.

### Formulerer filteregenskaber

Når du formulerer filteregenskaber, er forskellige operatorer og kommandoer tilgængelige for dig. Bortset fra de relationelle operatorer, er der SQL-specifikke kommandoer der forespørger i indholdet af databasefelter. Hvis du bruger disse kommandoer i LibreOffice syntaksen, konverterer LibreOffice automatisk disse til den tilsvarende SQL-syntaks. Du kan også indtaste SQL-kommandoen direkte og overskrive den interne oversætter. De følgende tabeller giver et overblik over disse operatorer og kommandoer:

Operator | Betydning | Betingelse er tilfredsstillet hvis...
= | lig med | ... indholdet af feltet er identisk med den viste udtryk. Operatoren = bliver ikke vist i forespørgselsfelterne. Hvis du indtaster en værdi uden operator, vil operatoren = automatisk blive benyttet.
<> | forskellig fra | ... indholdet af feltet svarer ikke til det angivne udtryk.
> | større end | ... indholdet af feltet er større end det angivne udtryk.
< | mindre end | ... indholdet af feltet er mindre end det angivne udtryk.
>= | større end eller lig med | ... indholdet af feltet er større end eller lig med det angivne udtryk.
<= | mindre end eller lig med | ... indholdet af feltet er mindre end eller lig med det angivne udtryk.

LibreOffice kommando | SQL-kommando | Betydning | Betingelse er tilfredsstillet hvis...
IS EMPTY | IS NULL | er null | ... Feltværdien er tom. For Ja/Nej felter med tre tilstande, forespørger denne kommando automatisk den ubestemte tilstand (hverken Ja eller Nej).
IS NOT EMPTY | IS NOT NULL | er ikke tom | ...feltet er ikke tomt, f.eks. fordi det indeholder data.
LIKE pladsholder (*) for ethvert antal tegn pladsholder (?) for præcis ét tegn) | LIKE pladsholder (%) for ethvert antal tegn pladsholder (_) til præcis ét tegn) | er et element i | ... datafeltet skal indeholde den angivne søgestreng i den givne rækkefølge. Positionen af pladsholderen (*) angiver om den søgte streng (x) optræder før pladsholderen (x*), efter pladsholderen (*x) eller mellem pladsholderne (*x*). I stedet for den velkendte filsystempladsholder (*) kan du også bruge SQL-tegnet (%) som en pladsholder i SQL-forespørgsler i LibreOffice-grænsefladen. Pladsholderne (*) eller (%) står for et vilkårligt antal tegn. Spørgsmålstegnet (?) i LibreOffice-grænsefladen eller understregningstegnet (_) i SQL-forespørgsler bruges til at repræsentere præcis ét tegn.
NOT LIKE | NOT LIKE | Er ikke et element i | ... feltet indeholder ikke data med det angivne udtryk.
BETWEEN x AND y | BETWEEN x AND y | falder indenfor intervallet [X,Y] | ... feltet indeholder en dataværdi der ligger mellem de to værdier x og y.
NOT BETWEEN x AND y | NOT BETWEEN x AND y | Falder ikke indenfor intervallet [X,Y] | ... feltet indeholder en dataværdi, der ikke ligger mellem de to værdier x og y.
IN (a; b; c...) Bemærk at semikoloner bruges som separatorer i alle værdi-lister! | IN (a, b, c...) | indeholder A, B, C, .... | ... feltnavnet indeholder et af de angivne udtryk a, b, c, ... Et vilkårligt antal udtryk kan angives, og resultatet af forespørgslen afgøres af en boolsk ELLER-operator. Udtrykkene a, b, c, ... kan enten være tal eller tegn.
NOT IN (a; b; c...) | NOT IN (a, b, c...) | indeholder ikke A, B, C... | ... feltet indeholder ikke et af de angivne udtryk a, b, c, ...
= TRUE | = TRUE | har værdien Sand | ... feltnavnet har værdien Sand.
= FALSE | = FALSE | har værdien falsk | ... feltdata-værdien er sat til falsk.

### Eksempler

='Ms.' | returnerer feltnavne med feltindholdet "Fr."
<'2001-01-10' | returnerer datoer som forekom før 10. januar 2001
LIKE 'g?ve' | returnerer poster med feltindhold som "give" og "gave".
LIKE 'S*' | returnerer poster med feltindhold som "Sun".
BETWEEN 10 AND 20 | returnerer poster med feltindhold mellem værdierne 10 og 20. (Felterne kan enten være tekstfelter eller talfelter).
IN (1; 3; 5; 7) | returnerer poster med værdierne 1, 3, 5 eller 7. Hvis feltnavnet indeholder et varenummer, for eksempel, kan du lave en forespørgsel som returnerer den vare, som har det angivne nummer.
NOT IN ('Smith') | returnerer poster som ikke indeholder "Smith".

Som Escape sekvens: {escape 'escape-tegn'}

Eksempel: select * from Element where ElementNavn like '*%' {escape '*'}

Dette eksempel vil give dig alle elementerne hvor navnet begynder med tegnet '*'. Dette betyder at du også kan søge efter tegn som ellers ville fortolkes som pladsholdere, såsom *, ?, _, % eller punktum.

Outer Join Escape sekvens: {oj outer-join}

Eksempel: select Artikel.* from {oj element LEFT OUTER JOIN ordrer ON element.nr=ordrer.ANR}

### Forespørge på tekstfelter

For at søge på indholdet af et tekstfelt skal du sætte udtrykket mellem enkelte citationstegn. Om der skelnes mellem store og små bogstaver afhænger af den database, der benyttes. LIKE skelner per definition mellem store og små bogstaver (selv om visse databaser ikke fortolker dette strengt).

### Forespørge på datofelter

Datofelter er repræsenteret som #Dato# for klart at identificere dem som datoer. Dato, tid og dato/tid konstantværdier, der anvendes i betingelser, kan være i enten SQL escape syntaks eller i standard SQL2 syntaks.

Dato Type Element | SQL escape syntaks #1 - kan være forældet | SQL escape syntaks #2 | SQL2 syntaks
Dato | {D'YYYY-MM-DD'} | {d 'YYYY-MM-DD'} | 'YYYY-MM-DD'
Tid | {D'HH:MM:SS'} | {t 'HH:MI:SS[.SS]'} | 'HH:MI:SS[.SS]'
Dato klokkeslæt | {D'YYYY-MM-DD HH:MM:SS'} | {ts 'YYYY-MM-DD HH:MI:SS[.SS]'} | 'YYYY-MM-DD HH:MI:SS[.SS]'

Eksempel: select {d '1999-12-31'} from verden.år

Eksempel: select * from mytable where years='1999-12-31'

Alle datoudtryk (datokonstantværdier) skal sættes i enkelte citationstegn. (Se yderligere detaljer i manualerne til den bestemte database og den bestemte databasekobling, du bruger).

### Spørge på Ja/Nej felter

For at spørge på Ja/Nej felter benyttes følgende syntaks for dBASE tabeller:

Status | Forespørgsels kriterium | Eksempel
Ja | For dBASE tabeller: forskellig fra hvilken som helst givet værdi | =1 returnerer alle dataposter hvor Ja/Nej-feltet har status "Ja" eller "Aktiveret" (udvalgte i sort),
Nej | . | =0 returnerer alle dataposter for hvilken Ja/Nej-feltet der har status "Nej" eller "Deaktiver" (ingen valg).
Null | IS NULL | IS NULL returnerer alle dataposter for hvilken Ja/Nej-feltet har ingen af tilstandene Ja eller Nej (valgt i grå).

Syntaksen afhænger af databasen der benyttes. Bemærk også at Ja/Nej felter kan være defineret forskelligt (kun 2 udtryk i stedet for 3).

### Parameterforespørgsel

Parameterforespørgsler lader brugeren indtaste værdier i kørselstiden. Disse værdier bruges i kriterierne til at vælge de dataposter, der skal vises. Hver af disse værdier har tilknyttet et parameternavn, som bruges kalde brugeren, mens forespørgslen køres.

Parameternavne indledes med et kolon i både Design- og SQL-visninger af en forespørgsel. De kan bruges når som helst der kan optræde en værdi. Hvis den samme værdi skal optræde mere end en gang i forespørgsel, skal du bruge det samme parameternavn.

I det enkleste tilfælde, hvor brugeren indtaster en værdi, der matches efter sammenfald, indtastes parameternavnet med sit indledende kolon simpelthen i rækken Kriterie. I SQL-tilstand skal det indtastes som WHERE "Field" = :Parameternavn

Parameternavne må ikke indeholde nogen af tegnene <space>`!"$%^*()+={}[]@'~#<>?/,. De må ikke være feltnavne eller SQL-reserverede ord. De kan hedde det samme som aliasser.

Et nyttig redskab til at markere dataposter baseret på dele af et tekstfelts indhold er at tilføje en skjult kolonne med kriteriet"LIKE '%' || :Del_af_felt || '%'". Dette vil markere dataposter med en nøjagtigt overensstemmelse. Hvis der ønskes en versal-ufølsom test, er en løsningat bruge LOWER (Field_Name) som felt ogLIKE LOWER ( '%' || :Del_af_felt || '%' ) som kriterie. Bemærk, at mellemrummene i kriteriet er vigtige; hvis de udelades, fortolker SQL-parseren hele kriteriet som en streng, der skal matches. I SQL-tilstand skulle dette indtastes somLOWER ( "Field_Name" ) LIKE LOWER ( '%' || :Part_of_field || '%' ).

Parameterforespørgsler kan bruges som datakilde til underformularer for at tillade brugeren at begrænse de viste dataposter.

### Parameterindtastning

Dialogen Parameterindtastningbeder brugeren om at indtaste parameterværdierne. Indtast en værdi for hvert forespørgselsparameter og bekræft ved at klikke på OK eller trykke påEnter-tasten.

De værdier, der er indtastet af brugeren, kan bestå af vilkårlige tegn, som er tilladt i SQL for det relevante kriterie; dette kan afhænge på det underliggende databasesystem.

Brugeren kan bruge SQL-jokertegn "%" (vilkårlig streng) eller "_" (vilkårligt enkelttegn) som en del af værdien for at hente dataposter med mere komplekse kriterier.

## SQL-tilstand

SQL står for "Structured Query Language" og beskriver instruktioner til opdatering og administration af relationsdatabaser.

I LibreOffice behøver du ingen viden om SQL for de fleste forespørgsler, eftersom du ikke behøver at skrive SQL-koden. Hvis du opretter en forespørgsel i forespørgselsdesigneren, konverterer LibreOffice automatisk dine instruktioner til den tilsvarende SQL-syntaks. Hvis du, ved hjælp af knappen Slå designvisning til/fra, skifter til SQL-visning, kan du se SQL-kommandoerne for en forespørgsel, som allerede er lavet.

Du kan formulere din forespørgsel direkte i SQL-kode. Bemærk dog, at den særlige syntaks afhænger af det databasesystem, du bruger.

Hvis du indtaster SQL-koden manuelt, kan du oprette SQL-specifikke forespørgsler, som ikke understøttes af den grafiske grænseflade i Forespørgselsdesign. Disse forespørgsler skal udføres i den rene SQL-tilstand.

Ved at klikke på ikonet Udfør SQL-kommando direkte i SQL-visning kan du formulere en forespørgsel, som ikke behandles af LibreOffice.