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 af Designvisningen kan du definere forespørgslen. For at definere en forespørgsel, angiv databasens feltnavne, som skal indeholdes, samt kriterier til visning af felterne. For at omarrangere kolonnerne i den nederste rude af Designvisningen trækker du en kolonneoverskrift til en ny placering, eller markerer kolonnen og trykker på ÆbleCtrl
+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, for eksempel, du har et regneark til artikler identificeret ved 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 ønsker at oprette en forespørgsel som returnerer alle artikler 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 eksisterer 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), hold museknappen nede og træk 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.

### Angive kædetype

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.

## Definere en forespørgsel

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.

### Angive feltnavn

Først markerer du alle feltnavne fra de tabeller, som du vil tilføje til forespørgslen. Du kan gør 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 for forespørgselsdesignet. Mens du gør dette, kan du bestemme hvilken kolonne du vil tilføje feltet til. Vælg et feltnavn ved at dobbeltklikke. Det vil så blive tilføjede til næste ledige kolonne.

### 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.

### Gemme forespørgsel

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

#### 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 for forespørgslen sætter du de ønskede parametre i det nederste område af designvisningen. De følgende linjer er tilgængelige:

#### Felt

Indtast navnet på datafeltet som du refererede til i forespørgslen. Alle indstillinger i de nederste rækker 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 og kriteriet gælder for alle tabelfelter.

#### Alias

Angiver et alias. Dette alias vil være listet i en forespørgsel i stedet for feltets navn. 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 en SQL-sætning defineres aliaser som følger:

SELECT kolonne AS alias FROM tabel.

For eksempel:

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

#### Tabel

Den tilsvarende databasetabel for det valgte datafelt er opremset 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å cellen, kan du vælge indstillinger for sortering: stigende, faldende og ikke sorteret. Tekstfelter bliver sorteret alfabetisk og numeriske felter numerisk. For de fleste databaser kan administratorer indstille sorteringen.

#### Synlig

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

#### Kriterier

Specificerer de Kriterier efter hvilke indholdet i datafeltet bliver filtreret.

#### eller

Her kan du indtaste endnu et kriterium til filtrering i hver linje. Flere kriterier i en kolonne vil være forbundet med en OR kæde.

Du kan også bruge genvejsmenuen for gitterlinjer i det nederste område af forespørgselsdesignet til at indsætte en anden linje for funktioner:

### Funktioner

Funktionerne du kan køre her afhænger af databasen.

Hvis du arbejder med HSQL-databasen, 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 være talte (A) eller ikke (B). A) COUNT(*): Overføres en stjerne som argument tæller alle dataposter i tabellen. B) COUNT(kolonne): Overføres et feltnavn som argument tæller kun felter hvori feltnavnet i spørgsmålet indeholder en værdi. Null værdier (tomme felter) vil ikke være medtalt.
Maksimum | MAX | Bestemmer den højeste værdi af et felt.
Minimum | MIN | Bestemmer den laveste værdi af et felt.
Sum | SUM | Beregner summen af værdier 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 kriterium bliver tilføjet, vises dette element i 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. Disse er funktioner der beregner data for at oprette sammenfatninger ud fra resultaterne. Yderligere funktioner som ikke er på rullelisten er også mulige. Disse afhænger af den specifikke databasesystem der anvendes. For at få information omkring driverspecifikke funktioner henvises til dokumentationen for dit databasesystem.

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 medmindre du modtager disse kolonner som 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 for valg af funktioner.

### Tabelnavn

Viser eller skjuler rækken for tabelnavnet.

### Aliasnavn

Viser eller skjuler rækken for aliasnavnet.

### Entydige værdier

Anvender kun entydige værdier til forespørgslen. Dette gælder for dataposter, der indeholder 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

Gør det muligt for dig at maksimere antallet af rækker som forespørgslen returnerer.

Hvis der er tilføjet en Begrænsning, 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. 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 | ... feltnavnet er ikke tom.
LIKE (pladsholder * for ethvert antal tegn pladsholder ? til præcis ét tegn) | LIKE (% pladsholder for ethvert antal tegn Pladsholdere _ til præcis ét tegn) | er et element i | ... datafeltet indeholder det viste udtryk. Pladsholderen (*) indikerer, om udtrykket X forekommer i begyndelsen af (X*), ved slutningen af (*X) eller inde i feltindholdet (*X*). I SQL-forespørgsler kan du som pladsholdere indtaste enten SQL-tegnet % eller den kendte (*) filsystempladsholder i LibreOffice-grænsefladen. Pladsholderne * eller % står for et hvilket som helst antal tegn. Spørgsmålstegnet (?) i LibreOffice-grænsefladen eller understreg (_) i SQL-forespørgsler bruges til repræsentere præcis et tegn.
NOT LIKE | NOT LIKE | Er ikke et element i | ... feltnavnet indeholder ikke det angivne udtryk.
BETWEEN x AND y | BETWEEN x AND y | falder indenfor intervallet [X,Y] | ... feltnavnet indeholder en værdi, som 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] | ... feltnavnet indeholder en værdi som ikke ligger mellem de to værdier x og y.
IN (A; B; Kumulativ...) Bemærk at semikolon bruges som separatorer i alle værdilister! | IN (A, B, C...) | indeholder A, B, C, .... | ... feltnavnet indeholder en af de specificerede udtryk A, B, C,... Hvilken som helst antal udtryk kan specificeres, og resultatet af forespørgslen er bestemt af en OR Kæde. Udtrykket A, B, C... kan være enten tal eller tegn
NOT IN (A; B; C...) | NOT IN (A, B, C...) | indeholder ikke A, B, C... | ... feltnavnet indeholder ikke en af de specificerede udtryk A, B, C,...
= TRUE | = TRUE | har værdien Sand | ... feltnavnet har værdien Sand.
= FALSE | = FALSE | har værdien falsk | ... feltnavnet har værdien falsk.

### Eksempler

='Fr.' | returnerer feltnavne med feltindholdet "Fr."
<'2001-01-10' | returnerer datoer som forekom før 10. januar 2001
LIKE 'g?v' | returnerer feltnavne med feltindhold såsom "giv" og "gav".
LIKE 's*' | returnerer datafelter med feltindhold såsom "Sol".
BETWEEN 10 AND 20 | returnerer feltnavne med felt indhold mellem værdierne 10 og 20. (felterne kan være enten tekstfelter eller felter med tal).
IN (1; 3; 5; 7) | returnerer feltnavne med værdierne 1, 3, 5, 7. Hvis feltnavnet indeholder et elementnummer, kan du oprette en forespørgsel som returnerer elementet der har det angivne nummer.
NOT IN ('Smith') | returnerer feltnavne 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 forespørge på indholdet af et tekstfelt skal du sætte udtrykket i enkelt citationstegn. Skelnen mellem store og små bogstaver afhænger af databasen, der benyttes. Ved LIKE skelnes der per definition mellem store og små bogstave (selv om nogle databaser ikke tager det så nøje).

### 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'ÅÅÅÅ-MM-DD'} | {d 'ÅÅÅÅ-MM-DD'} | 'ÅÅÅÅ-MM-DD'
Tid | {D'TT:MM:SS'} | {t 'TT:MI:SS[.SS]'} | 'TT:MI:SS[.SS]'
Dato klokkeslæt | {D'ÅÅÅÅ-MM-DD TT:MM:SS'} | {ts 'ÅÅÅÅ-MM-DD TT:MM:SS[.SS]'} | 'ÅÅÅÅ-MM-DD TT:MI:SS[.SS]'

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

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

Alle datoudtryk (konstantværdier) skal omgives af enkelte anførselstegn. (Se flere detaljer i henvisningen til den særlige database og databaseforbindelse, 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 ikke kende noget til SQL for de fleste forespørgsler, da du ikke behøver at indtaste SQL-koden. Hvis du opretter en forespørgsel i forespørgselsdesignet, konverterer LibreOffice automatisk dine instruktioner til den tilsvarende SQL-syntaks. Hvis du, ved hjælp af knappen Slå designvisning til/fra, vil skifte til SQL-visning, kan du se SQL-kommandoer for en forespørgsel, der er blevet oprettet tidligere.

Du kan formulere din forespørgsel direkte i SQL-koden. Bemærk dog, at den specielle syntaks er afhængig af det databasesystem, som du bruger.

Hvis du indtaster SQL-kode manuelt, kan du oprette SQL-specifikke forespørgsler, som ikke understøttes i den grafiske grænseflade i Forespørgselsdesign. Disse forespørgsler skal udføres i egentlig 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.