Kyselyn suunnittelu

Kyselyn suunnittelunÀkymÀssÀ luodaan ja muokataan tietokantakyselyjÀ.

Toiminnon aloitustavat:

Tietokannan tiedostoikkunasta napsauta Kyselyt-kuvaketta, sitten valitse Muokkaa - Muokkaa


Huomautus-kuvake

Useimmat tietokannat kÀyttÀvÀt kyselyjÀ tietokantataulun tietokoneella esitettÀvien tietueiden suodattamiseen tai lajittelemiseen. NÀkymissÀ on samat toiminnot kuin kyselyissÀ, mutta ne toimivat palvelimella. Jos tietokanta on nÀkymiÀ tukevalla palvelimella, nÀkymiÀ voidaan kÀyttÀÀ tietueiden suodattamiseen palvelimella, jolloin tietojen esittÀminen nopeutuu.


Huomautus-kuvake

Valitsemalla Luo nÀkymÀ -komento tietokanta-asiakirjan Taulut-vÀlilehdeltÀ saadaan esille NÀkymÀn suunnittelu -ikkuna, joka muistuttaa Kyselyn suunnittelu -ikkunaa, jota tÀssÀ kuvataan.


Kyselyn suunnittelun ikkunan asettelu tallennetaan luotavan kyselyn kera, mutta asettelua ei voi tallentaa luotavaan nÀkymÀÀn.

Suunnittelu-nÀkymÀ

Kyselyn luominen aloitetaan napsauttamalla Kyselyt-kuvaketta tietokanta-asiakirjassa ja napsauttamalla sitten Luo kysely rakennenÀkymÀssÀ -valintaa.

SuunnittelunÀkymÀn alemassa paneelissa mÀÀritellÀÀn kysely. Kyselyn mÀÀrittelemiseksi eritellÀÀn sisÀllytettÀvÀt tietokannan kentÀn nimet ja kenttien esittÀmisen ehdot. Sarakkeita siirretÀÀn suunnittelunÀkymÀn alemmassa paneelissa vetÀmÀllÀ sarakeotsikko uuteen paikkaan tai valitsemalla sarake ja painamalla +nuolinÀppÀin.

Kyselyn suunnittelun ikkunan ylÀosassa on nÀkyvissÀ Kysely- ja Suunnittelu-palkin kuvakkeet.

Kun kyselyÀ halutaan testata, kaksoisnapsautetaan kyselyn nimeÀ tietokanta-asiakirjassa. Kyselyn tulokset esitetÀÀn tietolÀhdenÀkymÀn tapaan. Esitetty taulu on vain tilapÀinen.

Kyselyn suunnittelunÀkymÀn nÀppÀimet

NÀppÀin

Toiminto

F4

Esikatselu

F5

Kysely suoritus

F7

Taulun tai kyselyn lisÀys


Selaa

When you open the query design for the first time, you see a dialog in which you must first select the table or query that will be the basis for your new query.

KenttÀ lisÀtÀÀn kyselyyn kaksoisnapsauttamalla. Taulujen vÀlinen suhde mÀÀritellÀÀn vetÀmÀllÀ ja pudottamalla.

Huomautus-kuvake

KyselyÀ suunniteltaessa ei voi muuttaa valittuja tauluja.


Taulujen poisto

Taulu poistetaan suunnittelunÀkymÀstÀ siten, ettÀ napsautetaan tauluikkunan ylÀreunaa ja sitten otetaan esille kohdevalikko (kakkospainikkeella). Poista-komennolla poistetaan taulu suunnittelunÀkymÀstÀ. Toinen vaihtoehto on painaa Delete-nÀppÀintÀ kohdistetussa tauluikkunassa.

Tauluikkunan siirto ja koon muuttaminen

Tauluikkunat ovat kooltaan muuteltavissa ja jÀrjesteltÀvissÀ työtilaan tarpeen mukaan. Taulu siirretÀÀn uuteen paikkaan vetÀmÀllÀ hiirellÀ ylÀreunasta. Tauluikkunan kokoa muutetaan sijoittamalla hiiri ikkunan reunaan tai nurkkaan ja vetÀmÀllÀ se tarvittavaan kokoon.

Taulujen suhteet

Jos yhden taulun kenttÀnimen ja toisen taulun kenttÀnimen vÀlillÀ on suhde, nÀitÀ suhteita eli yhteyksiÀ voidaan kÀyttÀÀ kyselyssÀ.

Jos esimerkiksi tuotteiden laskentataulukossa on tuotenumeroilla tunnistetut tuotteet ja asiakkaiden laskentataulukossa on asiakastilaukset, joissa vastaavia tuotenumeroita kÀytetÀÀn, silloin kahden "tuotenumero"-tietokentÀn vÀlillÀ on suhde. Jos nyt luodaan kysely, joka tuottaa tulokseksi kaikki asiakkaan tilaamat tuotteet, tiedot pitÀÀ hakea kahdesta eri laskentataulukosta. Jotta tÀmÀn voi tehdÀ, LibreOfficelle pitÀÀ ilmaista, mikÀ suhde kahden laskentataulukon tietojen vÀlillÀ vallitsee.

Yhteyden luomiseksi napsautetaan yhden taulun kentÀnnimeÀ (esimerkiksi kentÀnnimeÀ "Tuotenumero" Asiakas-taulussa) ja hiiren painiketta painaen vedetÀÀn kentÀnnimi toisen taulun kentÀn nimen pÀÀlle ("Tuotenumero" Tuote-taulussa). Kun hiiren painike vapautetaan, kahden kentÀn vÀlinen yhteysviiva ilmestyy työtilaan. Vastaava ehto, ettÀ kahden kentÀn sisÀltöjen pitÀÀ olla samoja, muodostuu tuotettavaan SQL-kyselyyn.

Useisiin taulukoihin perustuvan kyselyn luominen on mahdollista vain, jos LibreOfficea kÀytetÀÀn relaatiotietokannan kÀyttöliittymÀnÀ.

Huomautus-kuvake

KyselyllÀ ei pÀÀse kÀsiksi eri tietokantojen tauluihin. Useita tauluja kÀsittelevÀt kyselyt voidaan luoda vain yhdelle tietokannalle.


Liitostyypin mÀÀrittÀminen

Jos kahden yhdistetyn kentÀn vÀlistÀ viivaa kaksoisnapsautetaan tai kÀytetÀÀn valikkokomentoa LisÀÀ - Uusi relaatio, linkin tyyppi voidaan mÀÀrittÀÀ Liitoksen ominaisuudet -valintaikkunassa.

Vaihtoehtoisesti painellaan Sarkainta kunnes viiva tulee valituksi ja sitten painetaan Vaihto+F10 kohdevalikon esille saamiseksi. SiitÀ valitaan Muokkaa. Joissakin tietokannoissa tuetaan vain mahdollisten liitostyyppien osajoukkoa.

Suhteiden poisto

Kahden taulun vÀlisen suhde poistetaan napsauttamalla liitosviivaa ja painamalla sitten Delete-nÀppÀintÀ.

Vaihtoehtoisesti poistetaan vastaavat merkinnÀt SisÀllytettÀvÀt kentÀt -alueelta Liitoksen ominaisuudet-valintaikkunassa. Tai painellaan Sarkainta kunnes yhdistysviiva tulee korostetuksi ja painetaan sitten Vaihto+F10 kohdevalikon avaamiseksi. Lopuksi valitaan Poista-komento.

Kyselyn mÀÀritys

Valitaan kyselyn mÀÀrittelyn ehdot. Jokainen suunnittelutaulukon sarake lisÀÀ yhden tietokentÀn kyselyyn. Yhden rivin ehdot yhdistetÀÀn Boolen AND-operaattorilla (JA).

KentÀn nimen mÀÀrittÀminen

Valitaan ensin taulun kaikki ne kentÀn nimet, jotka lisÀtÀÀn kyselyyn. LisÀÀmisen voi tehdÀ joko vetÀmÀllÀ ja pudottamalla tai kaksoisnapsauttamalla kentÀn nimeÀ tauluikkunassa. VedÀ ja pudota -menetelmÀssÀ kÀytetÀÀn hiirtÀ kentÀn nimen vetÀmiseen tauluikkunasta alemmalle kyselyn suunnittelun alueelle. TÀssÀ voidaan pÀÀttÀÀ, mihin sarakkeeseen kentÀn haluaa lisÀtÀ. Valittaessa kentÀn nimi kaksoisnapsauttamalla, se lisÀtÀÀn ensimmÀiseen vapaaseen sarakkeeseen.

KenttÀnimien poistaminen

KenttÀnimen poistamiseksi kyselystÀ napsautetaan kakkospainikkeella kentÀn sarakeotsikkoa ja valitaan Poista-komento sarakkeen kohdevalikosta.

Kyselyn tallennus

Kysely-palkin Tallenna-kuvaketta kÀytetÀÀn kyselyn tallentamiseen. Tallenna nimellÀ -valintaikkuna tulee nÀkyviin, kun uusi kysely pitÀÀ nimetÀ. Jos tietokanta tukee kaavioita, myös kaavio voidaan syöttÀÀ.

Kaavio

NimetÀÀn kyselylle tai taulun nÀkymÀlle mÀÀrÀtty kaavio.

Kyselyn nimi tai nÀkymÀn nimi

NimetÀÀn kysely tai taulun nÀkymÀ.

Tietojen suodatus

Kyselyn aineiston suodattamiseksi tehdÀÀn mieleiset asetukset suunnittelunÀkymÀn alempaan osaan. Saatavilla on seuraavat rivit:

KenttÀ

SyötetÀÀn tietokentÀn nimi, johon kyselyssÀ viitataan. Kaikki alemmille riveille tehtÀvÀt asetukset viittaavat tÀhÀn kenttÀÀn. Kun solu aktivoidaan hiiren napsautukselle, esille tulee nuolipainike, joka mahdollistaa kentÀn valinnan. "Taulun nimi.*" -valinta valitsee kaikki tietokentÀt ja ehto on voimassa kaikille taulun kentille.

Tunnus

MÀÀritetÀÀn tunnus eli alias. TÀmÀ tunnus esitetÀÀn kyselyssÀ kenttÀnimen asemesta. NÀin voidaan kÀyttÀÀ muokattuja sarakeotsikoita. Esimerkiksi, jos tietokentÀn nimi on PtNo ja tÀmÀn nimen sijasta nÀhtÀisiin mieluummin nimi Osanumero kyselyssÀ, kirjoitetaan Osanumero tunnukseksi.

SQL-lauseessa, tunnukset mÀÀritellÀÀn seuraavasti:

SELECT sarake AS tunnus FROM taulu.

Esimerkiksi:

SELECT "PtNo" AS "Osanumero" FROM "Parts"

Taulu

YlÀrivillÀ valittua tietokenttÀÀ vastaava tietokannan taulu nÀkyy tÀssÀ. Kun solu aktivoidaan hiiren napsautukselle, esille tulee nuolivalitsin, joka mahdollistaa toisen taulun valinnan nykyisessÀ kyselyssÀ.

Lajittele

Kun solua napsautetaan, valittavissa on lajitteluvaihtoehdot: nouseva, laskeva tai ei lajiteltu. TekstikentÀt lajitellaan aakkosten mukaan ja lukujen kentÀt numeerisesti. Useimmissa tietokannoissa yllÀpitÀjÀt voivat tehdÀ lajitteluasetukset.

NÀkyvissÀ

Jos tietokentÀn NÀkyvissÀ-ominaisuus on merkittynÀ, kenttÀ nÀkyy kyselyssÀ. Jos kenttÀÀ kÀytetÀÀn vain ehtojen muotoiluun, sen esittÀminen ei vÀlttÀmÀttÀ ole tarpeen.

Ehto

MÀÀrÀtÀÀn ehto , jonka mukaisesti tietokentÀn sisÀltö suodatetaan.

tai

Kullekin riville voi kirjoittaa yhden suodatuksen lisÀehdon. Saman sarakkeen useammat ehdot yhdistetÀÀn OR-operaattorilla (TAI).

Myös kyselyn suunnittelun alemman alueen riviotsikkojen kohdevalikkoa voidaan kÀyttÀÀ Toiminnot-rivin lisÀÀmiseen funktioita varten:

Toiminnot

Funktioiden suoritettavuus on tietokannasta riippuvaista.

Kun kÀytetÀÀn HSQL-tietokantaa, Funktio-rivin luetteloruudussa on seuraavat vaihtoehdot:

Asetus

SQL

Tulos

Ei funktiota

MitÀÀn toimintoa ei suoriteta.

Keskiarvo

AVG

Lasketaan kentÀn aritmeettinen keskiarvo.

LukumÀÀrÀ

COUNT

MÀÀritetÀÀn taulun tietueiden lukumÀÀrÀ. TyhjÀt kentÀt voidaan joko (a) laskea tai (b) olla laskematta.

a) COUNT(*): vÀlitettÀessÀ asteriski argumenttina taulun kaikki tietueet otetaan lukuun.

b) COUNT(sarake): VÀlitettÀessÀ kentÀn nimi argumenttina mÀÀrÀÀn lasketaan vain kentÀt, joissa on arvo kyseisessÀ kentÀssÀ. Puuttuvia arvoja (tyhjÀt kentÀt) ei lasketa.

EnintÀÀn

MAX

MÀÀritetÀÀn kentÀn suurin arvo.

VÀhintÀÀn

MIN

MÀÀritetÀÀn kentÀn pienin arvo.

Summa

SUM

Lasketaan liittyvien kenttien arvojen summa.

Ryhmittele

GROUP BY

RyhmitellÀÀn kyselyn aineisto valitun kentÀn nimen mukaan. Funktiot suoritetaan mÀÀritetyn ryhmÀn mukaan.SQL:ÀssÀ tÀmÀ vaihtoehto vastaa GROUP BY -lausetta. Jos ehto lisÀtÀÀn, merkintÀ nÀkyy SQL:ÀssÀ HAVING-lauseessa.


Funktiokutsu voidaan kirjoittaa myös suoraan SQL-lauseeseen. Syntaksi on:

SELECT FUNCTION(sarake) FROM taulu.

Esimerkiksi SQL:Ă€n summan laskemisen funktiokutsu on:

SELECT SUM("yksikkoHinta") FROM "Tuotteet".

RyhmÀ-funktiota lukuun ottamatta yllÀ olevat funktiot ovat niin kutsuttuja koostefunktioita. NÀmÀ ovat funktioita, joilla lasketaan kyselyn aineistosta yhteenvetoja. Myös luetteloruudussa mainitsemattomia lisÀfunktioita voi olla kÀytettÀvissÀ. NÀmÀ ovat riippuvaisia kÀytettÀvÀstÀ tietokantajÀrjestelmÀstÀ ja Base-ajurin vallitsevasta tilasta.

Funktioita, joita ei ole luetteloruudussa, kÀytetÀÀn tarvittaessa KenttÀ-rivillÀ.

Funktiokutsut voidaan sijoittaa myös alias-tunnuksiin. Jos kyselyssÀ ei esitetÀ tunnusta sarakeotsikossa, annetaan tarvittava funktionimi Tunnus-kenttÀÀn.

Vastaava funktio SQL-lauseessa on:

SELECT FUNCTION() AS tunnus FROM taulu

Esimerkki:

SELECT COUNT( * ) AS "LukumÀÀrÀ" FROM "Tuotteet"

Huomautus-kuvake

Kun tÀmÀ funktio suoritetaan, muita lisÀsarakkeita ei kyselyyn voida lisÀtÀ, kuin niitÀ, jotka vastaanottavat nÀmÀ sarakkeet "RyhmÀ"-funktiona.


EsimerkkejÀ

Alla olevassa esimerkissÀ kysely suoritetaan kahdesta taulusta: "Tuotteet"-taulusta "tuoteTunnus"-kentÀn kera ja "Toimittajat"-taulusta "toimittajaNimi"-kentÀn kera. LisÀksi molemmissa tauluissa on yhteinen kenttÀ, nimeltÀÀn "toimittajaTunnus".

Seuraavat vaiheet on tarvitaan, ettÀ saadaan luotua kysely, jossa on kaikki ne toimittajat, jotka toimittavat useampaa kuin kolmea tuotetta.

  1. LisÀÀ "Tuotteet"- ja "Toimittajat"-taulut kyselyn suunnitteluun.

  2. LiitÀ kummankin taulun "toimittajaTunnus" -kentÀt, jos niiden vÀlillÀ ei vielÀ ole suhdetta.

  3. Kaksoisnapsauta "Tuotteet"-taulun "tuoteTunnus" -kenttÀÀ. Ota Funktio-rivi esille ja valitse Count-funktio.

  4. SyötÀ ehdoksi >3 ja tyhjennÀ NÀkyvissÀ-ruutu.

  5. Kaksoisnapsauta "toimittajaNimi"-kenttÀÀ "Toimittajat"-taulussa ja valitse RyhmÀ-funktio.

  6. Suorita kysely.

Jos "Tuotteet"-taulussa on kentÀt "yksikkoHinta" (yhden artikkelin hinnalle) ja "toimittajaTunnus" (artikkelin toimittajalle), toimittajalta saatujen tuotteiden keskihinnan saa selville seuraavalla kyselyllÀ:

  1. LisÀÀ "Tuotteet"-taulu kyselyn suunnitteluun.

  2. Kaksoisnapsauta "yksikkoHinta"- ja "toimittajaTunnus"-kenttiÀ.

  3. Ota kÀyttöön Funktio-rivi ja valitse Average-funktio "yksikkoHinta"-kentÀlle.

  4. "Average" voidaan syöttÀÀ myös tunnusriville (lainausmerkeittÀ).

  5. Valitse RyhmÀ-funktio "toimittajaTunnus"-kentÀlle.

  6. Suorita kysely.

Seuraavat kohdevalikon komennot ja symbolit ovat saatavilla:

Toiminnot

EsitetÀÀn tai piilotetaan funktioiden valintaan tarkoitettu rivi.

Taulun nimi

EsitetÀÀn tai piilotetaan taulun nimen rivi.

Alias-tunnus

EsitetÀÀn tai piilotetaan tunnusnimen rivi.

Erityisarvot

KyselyssÀ kÀytetÀÀn vain yksilöllisiÀ, toisistaan erottuvia arvoja. TÀmÀ koskee tietueita, joissa sama tieto toistuu samassa kentÀssÀ. Erityisarvot-komento on aktiivinen, kyselyssÀ nÀkyy vain yksi niistÀ tietueista, joissa arvot ovat samoja (DISTINCT). Muuten nÀhtÀvissÀ on kaikki kyselyn ehdot tÀyttÀvÀt tietueet (ALL).

Esimerkiksi, jos nimi "Smith" esiintyy useita kertoja osoitetietokannassa, voidaan valita Erityisarvot-komento, joka mÀÀrittÀÀ kyselyn niin, ettÀ nimi "Smith" esiintyy vain kerran.

Useita kenttiÀ kattavissa kyselyissÀ kaikkien kenttien yhdistelmÀn tulee olla yksilöllinen, jotta kyseisen tietueen tulos esitetÀÀn. Esimerkiksi "Smith Chicagosta" esiintyy kerran osoitekirjassa ja "Smith Lontoosta" kahdesti. Kysely Erityisarvot-komennoin kÀyttÀÀ sekÀ "sukunimi"- ettÀ "kaupunki"-kenttÀÀ ja palauttaa kyselyn tuloksessa "Smithin Chicagosta" kerran ja "Smithin Lontoosta" kerran.

SQL:ÀsÀ tÀmÀ komento vastaa DISTINCT-predikaattia.

Raja-arvo

Sallitaan kyselyn palauttavan enimmÀismÀÀrÀn tietueita.

Jos on asetettu Rajattu mÀÀrÀ, saadaan enintÀÀn luvun osoittama rivimÀÀrÀ. Muutoin nÀytetÀÀn kaikki kyselyehdon tÀyttÀvÀt tietueet.

Muodostetaan suodatusehdot

Suodatusehtoja muotoiltaessa saatavilla on erilaisia operaattoreita ja komentoja. Relaatio-operaattoreista erillisinÀ on erityisiÀ SQL-komentoja, joilla kysellÀÀn tietokantakenttien sisÀltöÀ. Jos nÀit komentoja kÀytetÀÀn LibreOffice-syntaksilla, LibreOffice muuntaa ne vastaamaan SQL-syntaksia. SQL-komento voidaan syöttÀÀ myös suoraan. Seuraavat taulukot sisÀltÀvÀt operaattoreiden ja komentojen yleiskuvauksen:

Operaattori

Selite

Ehto tÀyttyy, jos ...

=

yhtÀ suuri kuin

... kentÀn sisÀltö vastaa tÀysin ilmoitettua lauseketta.

Operaattoria = ei esitetÀ kyselykentissÀ. Jos arvo syötetÀÀn ilman mitÀÀn operaattoria, = -operaattori otetaan kÀyttöön.

<>

eri suuri kuin

... kentÀn sisÀltö ei vastaa mÀÀritettyÀ lauseketta.

>

suurempi kuin

... kentÀn sisÀltö on suurempi kuin mÀÀritetty lauseke.

<

pienempi kuin

... kentÀn sisÀltö on pienempi kuin mÀÀritetty lauseke.

>=

suurempi tai yhtÀ suuri kuin

... kentÀn sisÀltö on suurempi tai yhtÀ suuri kuin mÀÀritetty lauseke.

<=

pienempi tai yhtÀ suuri kuin

... kentÀn sisÀltö on pienempi tai yhtÀ suuri kuin mÀÀritetty lauseke.


LibreOffice-komento

SQL-lause

Selite

Ehto tÀyttyy, jos ...

IS EMPTY

IS NULL

on tyhjÀ

... The value of the field is empty. For Yes/No fields with three states, this command automatically queries the undetermined state (neither Yes nor No).

IS NOT EMPTY

IS NOT NULL

ei ole tyhjÀ

... kenttÀ ei ole tyhjÀ.

LIKE

(paikkamerkki * mille tahansa merkkien mÀÀrÀlle

paikkamerkki ? tasan yhdelle merkille)

LIKE

(% paikkamerkki mille tahansa merkkien mÀÀrÀlle

Paikkamerkki _ tasan yhdelle merkille)

on alkiona

... tietokentÀssÀ on esitetty lauseke. Paikkamerkki (*) ilmaisee, esiintyykö lauseke x kentÀn alussa (x*), lopussa (*x) vai keskellÀ (*x*). Paikkamerkin voi lisÀtÀ SQL-kyselyihin joko SQL:n %-merkkinÀ tai LibreOffice-kÀyttöliittymÀn tiedostojÀrjestelmÀstÀ tuttuna paikkamerkkinÀ (*).

Paikkamerkki * tai % edustaa mitÀ tahansa merkkien mÀÀrÀÀ. LibreOffice-kÀyttöliittymÀn kysymysmerkki (?) tai SQL-kyselyiden alaviiva (_) edustavat tÀsmÀlleen yhtÀ merkkiÀ.

NOT LIKE

NOT LIKE

ei ole alkiona

... kentÀssÀ ei ole mÀÀritettyÀ lauseketta.

BETWEEN x AND y

BETWEEN x AND y

kuuluu suljettuun vÀliin [x,y]

... kentÀn arvo on arvojen x ja y vÀlissÀ.

NOT BETWEEN x AND y

NOT BETWEEN x AND y

ei osu vÀlille [x,y]

... kentÀn arvo ei ole arvojen x ja y vÀlissÀ.

IN (a; b; c...)

Puolipisteet ovat kaikkien arvoluetteloiden erotinmerkkeinÀ!

IN (a, b, c...)

sisÀltÀÀ a, b, c...

... kentÀssÀ on yksi eritellyistÀ lausekkeista a, b, c,... MÀÀriteltynÀ voi olla mikÀ tahansa mÀÀrÀ lausekkeita ja kyselyn tulos mÀÀrÀytyy OR-yhdistelyllÀ. Lausekkeet a, b, c... voivat olla lukuja tai merkkejÀ.

NOT IN (a; b; c...)

NOT IN (a, b, c...)

ei sisÀllÀ a, b, c...

... kentÀssÀ ei ole yhtÀÀn mÀÀritellyistÀ lausekkeista a, b, c,...

= TRUE

= TRUE

arvona on TRUE

... kentÀn arvo on TRUE.

= FALSE

= FALSE

arvona on FALSE

... kentÀn arvo on FALSE.


EsimerkkejÀ

='Ms.'

tuloksena on kentÀt, joissa kentÀn sisÀltö on "Ms."

<'2001-01-10'

palauttaa pÀivÀt, jotka olivat ennen tammikuun 10. pÀivÀÀ 2001

LIKE 'g?ve'

tuloksena on kentÀt, joissa sisÀltö on kuten "give" ja "gave".

LIKE 'S*'

tuloksena on tietokentÀt, joiden sisÀltö on esimerkiksi "Sun".

BETWEEN 10 AND 20

tuloksena on kentÀt, joissa sisÀltö on arvojen 10 ja 20 vÀliltÀ. (KentÀt voivat olla joko teksti- tai numeerisia kenttiÀ).

IN (1; 3; 5; 7)

tuloksena on kentÀt, joiden arvot ovat 1, 3, 5 tai 7. Jos kentÀssÀ on esimerkiksi tuotenumero, voidaan luoda kysely, joka antaa tulokseksi tuotteen, jolla on tietty numero.

NOT IN ('Smith')

tuloksena on kentÀt, joissa ei esiinny "Smith".


Like-ohjausmerkkisarja: {escape 'ohjausmerkki'}

Esimerkki: SELECT * FROM Tuotteet WHERE tuoteNimi LIKE 'The *%' {escape '*'}

Esimerkki antaa tulokseksi kaikki merkinnÀt, joissa tuote alkaa 'The *'. TÀmÀ tarkoittaa, ettÀ voidaan hakea myös merkeillÀ, jotka muuten tulkittaisiin paikkamerkeiksi, kuten *, ?, _, % tai piste.

Outer Join -ohjausmerkkisarja: {oj ulkoliitos}

Esimerkki: SELECT Tuotteet.* FROM {oj Tuotteet LEFT OUTER JOIN tilausRivit ON tuoteTunnus=tilausRivit.tuoteTunnus}

Tekstikenttien kysely

TekstikentÀn kyselyyn lauseke pitÀÀ panna puolilainaus- tai heittomerkkeihin. Suur- ja pienaakkosten erottelu riippuu kÀytettÀvÀstÀ tietokannasta. LIKE on mÀÀritelmÀllisesti aakkoslajin tunnistava (vaikka erÀissÀ tietokannoissa sitÀ ei noudatetakaan tiukasti).

PÀivÀmÀÀrÀkenttien kysely

PÀivÀmÀÀrÀkentÀt esitetÀÀn merkinnÀllÀ #PÀivÀmÀÀrÀ#, jotta ne selvÀsti erottuvat pÀivÀmÀÀriksi. Ehtolausekkeissa kÀytettÀvÀt pÀivÀmÀÀrÀ-, kellonaika- ja aikaleimavakiot voivat olla joko SQL Escape -syntaksin mukaisia tai SQL2-syntaksin mukaisia.

PÀivÀmÀÀrÀtyyppi

SQL Escape -syntaksi #1 - voi olla vanhentunut

SQL Escape -syntaksi #2

SQL2-syntaksi

PÀivÀmÀÀrÀ

{D'VVVV-KK-PP'}

{d 'VVVV-KK-PP'}

'VVVV-KK-PP'

Aika

{D'TT:mm:SS'}

{t 'TT:mm:SS[.SS]'}

'TT:mm:SS[.SS]'

Aikaleima

{D'VVVV-KK-PP TT:mm:SS'}

{ts 'VVVV-KK-PP TT:mm:SS[.SS]'}

'VVVV-KK-PP TT:mm:SS[.SS]'


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

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

Kaikki pÀivÀmÀÀrÀlausekkeet (vakiot) tÀytyy ympÀröidÀ yksinkertaisilla lainausmerkeillÀ. (Katso lisÀtietoja kÀyttÀmÀsi tietokannan ja tietokanta-ajurin kÀyttöohjeista.)

Kysely KyllÀ/Ei -kentissÀ

KyseltÀessÀ KyllÀ/Ei-kentistÀ dBASE-tauluille kÀytetÀÀn oheista syntaksia:

Tila

Kyselyn ehto

Esimerkki

KyllÀ

dBASE-tauluille: ei yhtÀ suuri kuin joku annetuista arvoista

=1 antaa tulokseksi kaikki tietueet, joissa KyllÀ/Ei-kentÀssÀ on tilana "KyllÀ" tai "KÀytössÀ" (valittuna mustana),

Ei

.

=0 antaa tulokseksi kaikki tietueet, joissa KyllÀ/Ei-kentÀssÀ on tilana "Ei" tai "Ei kÀytössÀ" (ei valittuna).

tyhjÀ

IS NULL

IS NULL antaa tulokseksi kaikki tietueet, joissa KyllÀ/Ei-kentÀssÀ ei ole tilana KyllÀ eikÀ Ei (valittuna harmaana)


Huomautus-kuvake

Syntaksi on kÀytetystÀ tietokannasta riippuva. KyllÀ/Ei-kenttÀ voidaan myös mÀÀritellÀ eri tavalla (vain 2 tilaa 3 asemesta).


Parametrikyselyt

Parameter queries allow the user to input values at run-time. These values are used within the criteria for selecting the records to be displayed. Each such value has a parameter name associated with it, which is used to prompt the user when the query is run.

Parameter names are preceded by a colon in both the Design and SQL views of a query. This can be used wherever a value can appear. If the same value is to appear more than once in the query, the same parameter name is used.

In the simplest case, where the user enters a value which is matched for equality, the parameter name with its preceding colon is simply entered in the Criterion row. In SQL mode this should be typed as WHERE "Field" = :Parameter_name

Varoitus-kuvake

Parameter names may not contain any of the characters <space>`!"$%^*()+={}[]@'~#<>?/,. They may not be the same as field names or SQL reserved words. They may be the same as aliases.


Vihje-kuvake

A useful construction for selecting records based on parts of a text field's content is to add a hidden column with "LIKE '%' || :Part_of_field || '%'" as the criterion. This will select records with an exact match. If a case-insensitive test is wanted, one solution is to use LOWER (Field_Name) as the field and LIKE LOWER ( '%' || :Part_of_field || '%' ) as the criterion. Note that the spaces in the criterion are important; if they are left out the SQL parser interprets the entire criterion as a string to be matched. In SQL mode this should be typed as LOWER ( "Field_Name" ) LIKE LOWER ( '%' || :Part_of_field || '%' ).


Parameter queries may be used as the data source for subforms, to allow the user to restrict the displayed records.

Parametrin syöttö

The Parameter Input dialog asks the user to enter the parameter values. Enter a value for each query parameter and confirm by clicking OK or typing Enter.

The values entered by the user may consist of any characters which are allowable for the SQL for the relevant criterion; this may depend on the underlying database system.

Vihje-kuvake

The user can use the SQL wild-card characters "%" (arbitrary string) or "_" (arbitrary single character) as part of the value to retrieve records with more complex criteria.


SQL-tila

SQL on lyhenne sanoista "Structured Query Language" (rakenteellinen kyselykieli) ja se sisÀltÀÀ relaatiotietokantojen pÀivittÀmiseen ja hallinnointiin tarvittavat kÀskyt.

Useimmissa LibreOffice-kyselyissÀ ei tarvita SQL-osaamista, koska kÀyttÀjÀn ei ole pakko syöttÀÀ SQL-koodia. Kun kysely luodaan kyselyn suunnittelussa, LibreOffice muuntaa kÀyttÀjÀn kÀskyt SQL-syntaksiin. Jos Ota suunnittelunÀkymÀ kÀyttöön/pois kÀytöstÀ avulla vaihdetaan SQL-nÀkymÀÀn, nÀkyvissÀ on edellÀ luodun kyselyn SQL-komennot.

Kysely voidaan muotoilla SQL-koodiksi. Syntaksi on kuitenkin kÀytettÀvÀstÀ tietokantajÀrjestelmÀstÀ riippuva.

Kirjoitettaessa SQL-koodia voidaan luoda SQL-kohtainen kysely, joka ei ole kyselyn suunnittelun graafisen kÀyttöliittymÀn tukema. NÀmÀ kyselyt pitÀÀ suorittaa suorassa SQL-tilassa.

Napsauttamalla Suorita SQL-komento suoraan -kuvaketta SQL-nÀkymÀssÀ voidaan muotoilla kysely, jota LibreOffice ei prosessoi.