Innhald

# Spørjingsutforming

Visinga Spørjingsutforming lèt deg laga og redigera ei databasespørjing.

For å bruka denne funksjonen …

Trykk på knappen Spørjingar i eit databasefilvindauge og vel Rediger → Rediger.

Dei fleste databasane brukar spørjingar for å filtrera eller sortera databasetabellar for å visa oppføringar på datamaskinen. Visingar har den same funksjonaliteten som spørjingar, men på tenarsida. Viss databasen din er på ein tenar som støttar visingar, kan du bruka visingar til å filtrera oppføringar på tenaren for å gjera visingstida kortare.

Viss du vel funksjonen Lag vising i fana Tabellar i eit databasedokument, dukkar vindauget Utformingsvising opp. Dette liknar på vindauget Spørjingsutforming, som er skildra her.

Vindauget for spørjingsutforming vert lagra med ei ferdiglaga spørjing, men kan ikkje lagrast med ei ferdiglaga vising.

## Utformingsvising

Trykk på ikonet Spørjingar i eit databasedokument, og deretter på Lag spørjing i utformingsvising for å oppretta ei spørjing.

Du definerer spørjinga i den nedre delen av utformingsvisinga. Viss du vil definera ei spørjing, spesifiser du databasefeltnamna som skal takast med og kriteria for visinga av felta. Viss du vil omorganisera kolonnane i den nedre ruta i utformingsvisinga, dra ei kolonneoverskrift til ei ny plassering, eller merk kolonnen og trykk Kommando Ctrl + piltast.

Øvst i vindauget «Utformingsvising» finn du ikona for verktøylinjene Spørjingsutforming og Utforming.

Viss du vil testa ei spørjing, dobbeltklikkar du på namnet hennar i databasedokumentet. Resultatet av spørjinga vert då vist i ein tabell som liknar på datakjeldevisinga. Merk: Den viste tabellen er berre mellombels.

### Tastefunksjonar i visinga «Spørjingsutforming»

Tast | Funksjon
--- | ---
F4 | Førehandsvising
F5 | Køyr spørjing
F7 | Legg til tabell eller spørjing

## Bla gjennom

Når du opnar spørjingsutformaren første gongen, kjem det fram eit dialogvindauge der du må velja tabellen eller spørjinga som skal vera grunnlaget for den nye spørjinga.

Dobbeltklikk på felt for å leggja dei til i spørjinga. Dra og slepp for å setja opp relasjonar.

Du kan ikkje endra dei valde tabellane medan du utformar ei spørjing.

### Fjerna tabellar

For å fjerna tabellen frå utformingsvisinga, trykkjer du på den øvste kanten av tabellvindauget, slik at sprettoppmenyen kjem opp. Du kan bruka funksjonen Slett for å fjerna tabellen frå utformingsvisinga. Du kan også trykkja på Delete-tasten på tastaturet.

### Flytta tabellar og endra storleik på dei

Du kan endra storleiken på og sortera tabellar for å få dei slik du vil ha dei. For å flytta ein tabell, dreg du den øvste kanten til ønskt plassering. Du forstørrar eller forminskar storleiken tabellen vert vist i ved å plassera musepeikaren på ein kant eller eit hjørne og dra i tabellen til han har ønskt storleik.

## Tabellrelasjonar

Viss det finst datarelasjonar mellom eit feltnamn i ein tabell og eit feltnamn i ein annan tabell, kan du bruka desse relasjonane i spørjinga di.

Viss du for eksempel har eit rekneark for artiklar som har eigne artikkelnummer, og eit rekneark for kundar, der du noterer alle artiklane ein kunde bestiller ved å bruka dei tilsvarande artikelnummera, så er det ein relasjon mellom dei to datafelta for artikkelnummer. Viss du så vil oppretta ei spørjing for å finna alle artiklane ein kunde har bestilt, må du henta inn data frå begge reknearka. For å gjera dette, må du i LibreOffice fortelje kva for samanheng det er mellom dataa i dei to reknearka.

For å gjera dette, trykkjer du på eit feltnamn i ein tabell (for eksempel feltnamnet «Artikkelnummer» i reknearket med kundane), held museknappen nede, og dreg deretter feltnamnet bort til feltnamnet i den andre tabellen («Artikkelnummer» i reknearket med artiklane). Når du slepp museknappen, vil det dukka opp ei linje som bind dei to felta i dei to vindauga saman. Det tilsvarande vilkåret for at innhaldet i dei to felta må vera identisk, skriv du inn i SQL-spørjinga som kjem opp.

Det er berre mogleg å oppretta ei spørjing som er basert på fleire relaterte rekneark ved å bruka LibreOffice som grensesnitt for relasjonsdatabasen.

Du kan ikkje få tilgang til tabellar frå fleire ulike databasar i éi spørjing. Spørjingar som involverer fleire tabellar er avhengige av at alle tabellane ligg i same databasen.

### Spesifiser relasjonstypen

Viss du dobbeltklikkar på linja som bind dei to felta saman, eller vel Set inn → Ny relasjon, kan du velja relasjonstypen i dialogvindauget Relasjonar.

Alternativt kan du trykkja på tabulator-tasten til du kjem til den aktuelle linja og deretter trykkja Shift + F10 for å få opp sprettoppmenyen. På den vel du så Rediger. Ikkje alle databasar støttar alle dei moglege samanslåingstypane.

### Sletta relasjonar

For å sletta ein relasjon mellom to tabellar, trykkjer du på samanbindingslenkja, og deretter på Delete-tasten.

Det er også råd å sletta dei tilsvarande punkta i Involverte felt i dialogvindauget Relasjonar. Eller du kan trykkja på Tabulator-tasten til samanbindingslinja vert utheva og deretter på Shift + F10 for å opna sprettoppmenyen. På denne vel du så Slett.

## Definering av spørjinga

Vel vilkår for å setja opp spørjinga. Kvar kolonne i utformingstabellen kan innehalda eit datafelt for spørjinga. Vilkåra i ei rad vert bundne saman med ein logisk OG.

### Spesifisering av feltnamn

Først merkjer du alle feltnamna i dei tabellane du vil leggja til i spørjinga. Du kan gjera dette anten ved å dra og sleppe eller ved å dobbeltklikka på eit feltnamn i tabellvindauget. Med dra-og-slepp-metoden brukar du musa for å dra eit feltnamn frå tabellvindauget og inn i det nedste området av spørjingsutforminga. Medan du gjer dette, kan du velja kva for kolonne i spørjingsutforminga du vil leggja til feltet. Du vel eit feltnamn ved å dobbeltklikka på det. Feltnamnet vert då lagt til i neste ledige kolonne i spørjingsutforminga.

### Sletting av feltnamn

For å fjerna eit feltnamn frå spørjinga, trykkjer du på kolonneoverskrifta for feltet og vel kommandoen Slett på sprettoppmenyen for kolonnen.

### Lagring av spørjinga

Bruk ikonet Lagra på standardverktøylinja for å lagra ei spørjing. Då dukkar det opp eit dialogvindauge som ber deg om å skriva inn eit namn på spørjinga. Viss databasen støttar skjema, kan du også skriva inn eit skjemanamn.

#### Skjema

Skriv inn namnet på skjemaet som er knytt til spørjinga eller tabellvisinga.

#### Spørjingsnamn eller tabellvisingsnamn

Skriv inn namnet på spørjinga eller tabellvisinga.

### Filtrera data

For å filtrera data for spørjinga, set du dei ønskte kriteria inn i det nedste området av utformingsvisinga. Desse linjene kan brukast:

#### Felt

Skriv inn namnet på feltet som du viste til i spørjinga. Alle innstillingane gjort i radene med filterinnstillingar viser til dette feltet. Viss du gjer ei celle aktiv med eit museklikk, dukkar det opp ein knapp med ei pil på, slik at du kan velja eit felt. Valet «Tabellnamn. *» merkjer alle datafelta slik at dei spesifiserte kriteria vert brukte på alle tabellfelta.

#### Alias

Oppgjev eit alias. Dette aliaset vert vist i staden for feltnamnet i spørjinga. Dette gjer at du kan bruka sjølvvalde kolonnenamn. Eksempel: Viss eit datafelt har namnet «Delnr», men du i staden vil at «Delnummer» skal visast i spørjinga, kan du oppgje dette som eit alias.

I eit SQL-uttrykk gjev du opp alias slik:

SELECT kolonne AS aliasnamn FROM tabell.

For eksempel:

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

#### Tabell

Den tilhøyrande databasetabellen til det valde datafeltet vert vist her. Viss du aktiverer cella med eit museklikk, vil det dukka opp ei pil som lèt deg velja ein annan tabell i den gjeldande spørjinga.

#### Sorter

Viss du trykkjer på cella, kan du velja mellom sorteringsalternativa stigande, fallande og ikkje sortert. I dei fleste databasar kan administrator setja vala for sortering på databasenivået.

#### Synleg

Viss du kryssar av for eigenskapen Synleg for eit datafelt, vert dette datafeltet synleg i spørjinga. Du treng ikkje ha feltet synleg viss du berre brukar det til å formulera eit vilkår eller å gjera utrekningar.

#### Kriterium

Spesifiserer eit første kriterium som innhaldet i datafeltet skal filtrerast etter.

#### eller

Her kan du velja eit tilleggskriterium for filtrering på kvar linje. Fleire kriterium i ein kolonne vert bundne saman med logisk OR.

Du kan også bruka sprettoppmenyen for tabelloverskrifter i det nedste området av spørjingsutforminga for å setja inn eit filter basert på funksjonar:

### Funksjonar

Kva for funksjonar du kan køyra her, er avhengig av databasemotoren.

Viss du jobbar med den innebygde HSQL-databasen, vil den første feltet i rada Funksjon tilby deg desse vala:

Val | SQL | Effekt
--- | --- | ---
Ingen funksjon |  | Ingen funksjon vert utførd.
Gjennomsnitt | AVG | Reknar ut det aritmetiske gjennomsnittet av eit felt.
Tal på | COUNT | Bestemmer talet på datapostar i tabellen. Tomme felt kan anten vera talde (a) eller ikkje (b). a) COUNT(*): Viss du brukar ei stjerne som argument, vert alle datapostane i tabellen talde. b) COUNT (kolonne): Å senda eit feltnamn som eit argument gjer at berre dei felta der det oppgjeve feltet inneheld ein verdi vert talde. Oppføringar der felta har ein null-verdi, altså som inneheld ein tekst- eller talverdi, vert ikkje talde.
Maksimum | MAX | Bestemmer den høgaste verdien av ein post i feltet.
Minimum | MIN | Bestemmer den lågaste verdien av ein post i feltet.
Summer | SUM | Reknar ut summen av verdiane av postane i dei tilknytte felta.
Grupper | GROUP BY | Grupperer spørjingsdata i høve til det valde feltnamnet. Funksjonar vert utførte i høve til dei oppgjevne gruppene. I SQL svarar denne innstillinga til GROUP BY-setninga. Viss eit kriterium vert lagt til, vert denne oppføringa vist i undersetninga SQL HAVING.

Du kan også skriva inn funksjonskall direkte i SQL-setninga. Syntaksen er:

SELECT FUNCTION(kolonne) FROM tabell.

For eksempel er dette funksjonskallet i SQL for å rekna ut ein sum:

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

Bortsett frå Grupper-funksjonen er funksjonane ovanfor såkalla resultatmengdefunksjonar. Dette er funksjonar som reknar ut data for å laga samandrag frå resultata. Det kan òg finnast fleire funksjonar som ikkje er med i listeboksen. Desse er avhengige av kva for databasemaskin som er i bruk og dei gjeldande funksjonane som er tilgjengelege for database-drivaren for å kopla til denne databasemotoren.

For å bruka andre funksjonar enn dei som er med i listeboksen, må du skriva dei inn manuelt under Felt.

Du kan også tildela alias til funksjonskall. Viss spørjestrengen ikkje skal vistast i kolonneoverskrifta, skriv du inn det ønskte namnet under Alias.

Den tilsvarande funksjonen i eit SQL-uttrykk er:

SELECT FUNCTION() AS aliasnamn FROM tabell

Eksempel:

    SELECT COUNT(*) AS tal på FROM "Element"

Viss du køyrer ein slik funksjon, kan du ikkje setja inn fleire kolonnar for spørjinga på andre måtar enn som argument i ein gruppefunksjon.

Eksempel

I dette eksempelet vert det køyrt ei spørjing gjennom to tabellar: Ein «Del»-tabell med feltet «Delnr.» og ein «Leverandør»-tabell med feltet «Leverandørnamn». Begge tabellane har det felles feltnamnet «Leverandørnr.»

Dette steget er nødvendig for å setja opp ei spørjing som inneheld alle kundane som har kjøpt meir enn tre delar.

1. Set inn tabellane «Del» og «Leverandørar» i spørjingsutforminga.

2. Bind saman feltet «Leverandørar.» i dei to tabellane viss det ikkje finst ein slik relasjon frå før.

3. Dobbeltklikk på feltet «Delnr.» i «Del»-tabellen. Opna Funksjonslinja ved å velja funksjonen «Tal på» på sprettoppmenyen.

4. Skriv inn >3 som kriterium og fjern avkryssinga for «Synleg».

5. Dobbeltklikk på feltet «Leverandørnamn» i «Leverandørar»-tabellen og vel funksjonen «Grupper».

6. Køyr spørjinga.

Viss felta «Pris» (enkeltprisen på ein del) og «Leverandørnr.» (leverandøren av denne varen) finst i «Del»-tabellen, kan du få opp gjennomsnittsprisen på delane frå ein leverandør med denne spørjinga:

1. Set inn «Del»-tabellen i spørjingsutforminga.

2. Dobbeltklikk på felta «Pris» og «Leverandørnr.»

3. Gå til Funksjonslinja og merk gjennomsnittfunksjonen i «Pris»-feltet.

4. Du kan også skriva inn «Average» på linja for aliasnamn (utan hermeteikna).

5. Vel gruppe for feltet «Kundenr.».

6. Køyr spørjinga.

Desse funksjonane og symbola er tilgjengelege i sprettoppmenyen:

### Funksjonar

Vis eller gøym ei rad med funksjonsval.

### Tabellnamn

Vis eller gøym rada for tabellnamn.

### Aliasnamn

Vis eller gøym rada for aliasnamn.

### Unike verdiar

Brukar berre unike verdiar i spørjinga. Dette gjeld postar som inneheld data som finst fleire gongar i dei valde felta. Viss funksjonen Unike verdiar er slått på, vil du berre få opp éin post i spørjinga (DISTINCT). Elles vil du få opp alle postane som passar til spørjingskriteriet (ALL).

For eksempel kan du bruka funksjonen Unike verdiar viss namnet «Hansen» finst mange gongar i adressedatabasen din, men du vil at det berre skal førekoma éin gong.

I ei spørjing som involverer fleire felt, må kombinasjonen av verdiar frå alle felta vere unike, slik at resultatet kan lagast ut frå ein viss post. For eksempel har du éin «Hansen i Mandal» i adresseboka di, men to «Hansen i Lyngdal». Med funksjonen Unike verdiar, vil spørjinga bruka dei to felta «Etternamn» og «Bustad», slik at du får opp berre éin «Hansen i Mandal» og éin «Hansen i Lyngdal».

I SQL svarar denne funksjonen til predikatet «DISTINCT».

### Grense

Gjev deg høve til å maksimera talet på postar som spørjinga skal returnera.

Viss det er lagt til ei grense, vil du få opp til så mange rader som talet viser. Elles vil du sjå så mange svar som spørjinga gjev tilbake.

### Formulera filtreringsvilkår

Når du formulerer filtreringsvilkår, har du ulike operatorar og funksjonar tilgjengelege. Bortsett frå relasjonsoperatorane, er det SQL-spesifikke funksjonar som utfører spørjingar i innhaldet i databasefelta. Viss du brukar desse funksjonane med LibreOffice-syntaks, vil LibreOffice automatisk gjera dei om til tilsvarande SQL-syntaks via ein intern tolkar. Du kan også skriva inn SQL-kommandoar direkte. Tabellane nedanfor gjev ei oversikt over operatorane og funksjonane:

Operator | Tyding | Vilkåret er oppfylt viss …
--- | --- | ---
= | er lik | … innhaldet i feltet er identisk med det oppgjevne uttrykket. Operatoren = vert ikkje vist i spørjingsfelta. Viss du skriv inn ein verdi utan operator, vert operatoren = automatisk brukt.
<> | er ikkje lik | … innhaldet i feltet ikkje er identisk med det oppgjevne uttrykket.
> | større enn | … innhaldet i feltet er større enn det oppgjevne uttrykket.
< | mindre enn | … innhaldet i feltet er mindre enn det oppgjevne uttrykket.
>= | større enn eller lik | … innhaldet i feltet er større enn eller lik det oppgjevne uttrykket.
<= | mindre enn eller lik | … innhaldet i feltet er mindre enn eller lik det oppgjevne uttrykket.

LibreOffice-kommando | SQL-kommando | Meining | Vilkåret er oppfylt viss …
--- | --- | --- | ---
IS EMPTY | IS NULL | er null | … feltnamnet er tomt. For «Ja/Nei»-felt med tre tilstandar, vil denne funksjonen automatisk spørja etter den uvisse tilstanden (verken «Ja» eller «Nei»).
IS NOT EMPTY | IS NOT NULL | er ikkje tomt | … feltnamnet er ikkje tomt, det vil seia at det inneheld data.
LIKE plasshaldar (*) for kor mange teikn som helst plasshaldar (?) for nøyaktig eitt teikn | LIKE plasshaldar (%) for kor mange teikn som helst plasshaldar (_) for nøyaktig eitt teikn | er eit element i | … datafeltet inneheld uttrykket som er oppgjeve. Plasshaldaren (*) oppgjev om uttrykket «x» finst i byrjinga av (x*), på slutten av (*x) eller inne i feltinnhaldet (*x*). I SQL-spørjingar kan du kan leggja inn plasshaldarar, anten med SQL-teiknet % eller den kjende filsystem-plasshaldaren i LibreOffice-grensesnittet (*). Plasshaldarane (*) og (%) står for kva tal som helst på teikn. Spørjeteiknet (?) i LibreOffice-grensesnittet eller understreken (_) i SQL-spørjingar er plasshaldar for nøyaktig eitt teikn.
NOT LIKE | NOT LIKE | Er ikkje eit element i | … feltet inneheld ikkje data med det oppgjeve uttrykket.
BETWEEN x AND y | BETWEEN x AND y | ligg mellom [x,y] | … feltet inneheld ein dataverdi som ligg mellom dei to verdiane «x» og «y».
NOT BETWEEN x AND y | NOT BETWEEN x AND y | Ligg ikkje mellom [x,y] | … feltet inneheld ein dataverdi som ikkje ligg mellom dei to verdiane «x» og «y».
IN (a; b; c...) Legg merkje til at semikolon vert brukt som skiljeteikn i alle verdilister. | IN (a, b, c...) | Inneheld «a, b, c …» | … feltnamnet inneheld eit av dei oppgjevne uttrykka «a, b, c, …». Ein kan oppgje så mange uttrykk ein vil, og resultatet av spørjinga vert bestemt av ein boolsk ELLER-operasjon. Uttrykka «a, b, c …» kan anten vera tal eller teikn.
NOT IN (a; b; c...) | NOT IN (a, b, c...) | Inneheld ikkje «a, b, c …» | … feltet inneheld ikkje eit av dei oppgjevne uttrykka «a, b, c, …»
= TRUE | = TRUE | Har verdien «Sann» | … feltnamnet har verdien «Sann».
= FALSE | = FALSE | Har verdien «Usann». | … feltverdien er sett til «usann».

### Eksempel

='Fr.' | Returnerer feltnamna med feltinnhaldet «Fr.»
<'2001-01-10' | returnerer datoar før 10. januar 2001
LIKE 'g?ve' | Returnerer postar med feltinnhald som «giv» og «gav».
LIKE 'S*' | returnerer postar med feltinnhald som «Sol».
BETWEEN 10 AND 20 | Returnerer postar med feltinnhald som ligg mellom verdiane 10 og 20. Felta kan vera anten tekstfelt eller talfelt.
IN (1; 3; 5; 7) | returnerer postar med verdiane 1, 3, 5, 7. Viss feltnamnet f.eks. inneheld eit delnummer, kan du oppretta ei spørjing som returnerer den delen som har det oppgjevne nummeret.
NOT IN ('Smith') | returnerer postar som ikkje inneheld «Smith».

Like-escapesekvensen: {escape 'escape-character'}

Eksempel:

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

Dette eksempelet gjev deg alle oppføringane der delnamnet byrjar med 'The*'. Dette tyder at du også kan søkja etter teikn som elles ville verta tolka som plasshaldarar, slik som *, ?, _, % eller punktum.

Outer Join-escapesekvensen: {oj outer-join}

Eksempel:

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

### Spørjingar i tekstfelt

For å gjera ei spørjing i innhaldet i eit tekstfelt, må du setja uttrykket i enkle hermeteikn ('). Om det vert skild mellom store og små bokstavar, er avhengig av kva for database som er i bruk. «LIKE» skil per definisjon mellom store og små bokstavar, men ikkje alle databasar tek dette så nøye.

### Spørjingar i datofelt

Datofelt vert viste som #Date# for tydeleg å identifisera dei som datoar. Dato-, tid- og dato-/tid-konstantar (må skrivast ordrett) brukte i vilkår kan anten vera SQL Escape syntakstype eller standard SQL2-syntaks.

Datatypeelement | SQL Escape syntax #1 - kan vera forelda | SQL Escape syntaks #2 | SQL2-syntaks
--- | --- | --- | ---
Dato | {D'YYYY-MM-DD'} | {d 'YYYY-MM-DD'} | 'YYYY-MM-DD'
Klokkeslett | {D'HH:MM:SS'} | {t 'HH:MI:SS[.SS]'} | 'HH:MI:SS[.SS]'
DatoKlokkeslett | {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 world.years

Eksempel:

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

Alle datouttrykk (ordrette) må setjast i enkle hermeteikn. (Sjå i referansane for den aktuelle databasen og koplinga om fleire detaljar om dette).

### Spørjingar i Ja/Nei-felt

For å gjera ei spørjing i Ja/Nei-felt, brukar du denne syntaksen for dBASE-tabellar:

Status | Spørjingskriterium | Eksempel
--- | --- | ---
Ja | for dBASE-tabellar, ikkje lik nokon oppgjeve verdi | =1 returnerer alle datapostar der Ja/Nei-feltet har status «Ja» eller «På» (merkt medi svart),
Nei | . | =0 returnerer alle datapostar der Ja/Nei-feltet har status «Nei» eller «Av» (inga markering).
Null | IS NULL | «IS NULL» returnerer alle datapostar der Ja/Nei-feltet ikkje har nokon av tilstandane «Ja» eller «Nei» (markert i grått).

Syntaksen er avhengig av kva for database-system som vert brukt. Merk også at Ja/Nei-felt kan vera definerte ulikt (berre 2 tilstandar i staden for 3).

### Spørjingar i parametrar

Parameterspørjingane gjer at brukaren kan skriva inn verdiar under køyringa. Desse verdiane vert brukte som kriterium for å velja kva datapostar som skal visast. Kvar slik verdi har eit parameternamn som vert brukt for å kalla opp brukaren når spørjinga køyrer.

Parameternamna har eit kolon framføre seg både i utformings- og SQL-visinga av ei spørjing. Desse kan brukast kvar som helst der ein verdi kan brukast. Viss den same verdien skal brukast meir enn éin gong i ei spørjing, brukar du det same namnet.

I det enklaste tilfellet, der brukaren skriv inn ein verdi som vert samanlikna for likskap, skriv du inn namnet på parameteren med innleiande kolon i rekkja for kriterium. I SQL-modus må dette skrivast som WHERE "Field" = :Parameter_namn

Parameternamna kan ikkje innehalda teikna <space>`!"$%^*()+={}[]@'~#<>?/,. Dei kan heller ikkje vera dei same som feltnamn eller reserverte ord i SQL. Derimot kan dei heita det same som aliasar.

Ein nyttig konstruksjon for å velja postar basert på delar av innhaldet i eit tekstfelt er å legge til ein gøymd kolonne med "LIKE '%' || :Part_of_field || '%'" som kriterium. Dette vil velja postar med eit eksakt samsvar. Viss du ønskjer ein test som skil mellom store og små bokstavar, er ei løysing å bruka LOWER (Field_Name) som feltet og LIKE LOWER ( '%' || :Part_of_field || '%' ) som kriterium. Merk at mellomromma i kriteriet er viktige. Vert desse sløyfa, vil SQL-tolkaren oppfatta heile kriteriet som ein streng som skal passa. I SQL mode må dette skrivast som LOWER ( "Field_Name" ) LIKE LOWER ( '%' || :Part_of_field || '%' ).

Parameterspørjingane kan nyttast som datakjelde til underskjema slik at brukaren kan avgrensa dei viste postane.

### Parameter-inndata

Dialogvindauget Parameterinnskriving ber brukaren om å skriva inn parameterverdiane. Skriv inn ein verdi for kvar spørjeparameter og stadfest ved å trykkja på OK eller trykkja påEnter-tasten.

Dei verdiane som vert skrivne inn av brukaren, kan innehalda alle teikn som er tillatne i SQL for det relevante kriteriet. Dette er likevel avhengig av det underliggjande databasesystemet.

Brukaren kan nytta SQL-jokerteikn "%" (vilkårleg streng) eller "_" (vilkårleg enkeltteikn) som ein del av verdien for å henta datapostar med meir komplekse kriterium.

## SQL-modus

SQL står for «Structured Query Language» (strukturert spørjingsspråk) og skildrar instruksjonar for oppdatering og administrasjon av relasjonsdatabasar.

Du treng ikkje kjenna til SQL for å bruka LibreOffice, sidan du ikkje treng å skriva inn SQL-kodar. Dette gjeld for dei aller fleste spørjingane. Viss du opprettar ei spørjing i spørjingsutforminga, gjer LibreOffice automatisk om innstillingane dine til den tilsvarande SQL-syntaksen. Viss du vil, kan du ved hjelp av knappen Slå på/av utformingsvising byta til SQL-vising, slik at du kan sjå SQL-kommandoane for spørjingar som har vorte oppretta tidlegare.

Du kan formulera spørjinga direkte i SQL-koden. Merk at den spesielle syntaksen er avhengig av det databasesystemet som er brukt.

Viss du skriv inn SQL-kode manuelt, kan du oppretta SQL-spesifikke søk som ikkje vert støtta i den grafiske brukarflata i Spørjingsutforminga. Desse førespurnadane kan utførast i lokal SQL-modus.

Ved å klikka på ikonet Utfør SQL-kommando direkte i SQL-visinga kan du formulera ei spørjing som ikkje vert handsama av LibreOffice men send direkte til databasemotoren.