Edukiak

# Kontsulta-diseinua

Kontsulta-diseinuaren ikuspegiak datu-baseko kontsultak sortzeko eta editatzea ahalbidetzen du.

Komando hau erabiltzeko...

Datu-baseen fitxategi-leihoan, egin klik Kontsultak ikonoan, ondoren aukeratu Editatu - Editatu.

Datu-base askok kontsultak erabiltzen dituzte datu-baseko taulak iragazteko edo ordenatzeko eta horrela ordenagailuan erregistroak bistaratzeko. Ikuspegiek kontsulten funtzionalitate bera eskaintzen dute, baina zerbitzariaren aldetik. Datu-basea ikuspegiak onartzen dituen zerbitzari batean badago, ikuspegiak zerbitzariko erregistroak iragazteko erabil daitezke, horrela bistaratze-denbora azkartzeko.

Datu-baseko dokumentu baten Taulak fitxako Sortu ikuspegia komandoa hautatzen bada, Ikuspegi-diseinua leihoa ikusiko da. Leiho hori hemen deskribatutako Kontsulta-diseinua leihoaren antzekoa da.

'Kontsulta-diseinua' leihoaren diseinua sortutako kontsulta batekin gordetzen da, baina ezin da sortutako ikuspegi batekin gorde.

## Diseinu-ikuspegia

Kontsulta bat sortzeko, egin klik datu-baseko dokumentu baten Kontsultak ikonoan, eta gero, sakatu Sortu kontsulta diseinu-ikuspegian.

Kontsulta diseinu-ikuspegiko beheko panelean definitzen da. Kontsulta definitzeko, zehaztu sartuko diren datu-baseko eremuen izenak eta eremuak bistaratzeko irizpideak. Diseinu-ikuspegiko beheko paneleko zutabeak berrantolatzeko, arrastatu zutabe-goiburukoa beste kokaleku batera edo hautatu zutabea eta sakatu ⌘Ctrl+↑↓←→ tekletako bat.

Diseinu-ikuspegia leihoaren goialdean, Kontsulta-diseinua barrako eta Diseinua barrako ikonoak bistaratzen dira.

Kontsulta bat probatu nahi bada, egin klik bikoitza datu-baseko dokumentuko kontsulta-izenean. Kontsultaren emaitza datu-iturburuaren ikuspegiaren antzeko taula batean bistaratuko da. Oharra: bistaratutako taula behin-behinekoa da.

### Kontsultaren diseinu-ikuspegiko teklak

Tekla | Funtzioa
--- | ---
F4 | Aurreikusi
F5 | Exekutatu kontsulta
F7 | Gehitu taula edo kontsulta

## Arakatu

Kontsulta-diseinua lehen aldiz irekitzen denean, elkarrizketa-koadro bat agertzen da, kontsulta berriaren oinarria izango den taula edo kontsulta hautatzeko.

Egin klik bikoitza kontsultari gehitu beharreko eremuetan. Erlazioak definitzeko, arrastatu eta jaregin.

Kontsulta diseinatzean ezin dira hautatutako taulak aldatu.

### Kendu taulak

Taula diseinu-ikuspegitik kentzeko, egin klik taula-leihoaren goiko ertzean eta ireki laster-menua. Ezabatu komandoa erabili daiteke taula diseinu-ikuspegitik kentzeko. Beste aukera bat 'Ezabatu' tekla sakatzea da.

### Aldatu taula lekuz eta aldatu bere tamaina

Hobespenen arabera, taulak tamainaz aldatu eta antolatu daitezke. Taulak lekuz aldatzeko, arrastatu goiko ertza nahi den kokalekura. Handitu edo txikitu taularen tamaina saguaren kurtsorea ertzean edo izkinan kokatuz, eta ondoren, arrastatu taula nahi den tamaina eman arte.

## Taulen arteko erlazioak

Taula bateko eremu-izenaren eta beste taula bateko eremu-izenaren artean erlazioa baldin badago, erlazio hori kontsultarako erabili daiteke.

Adibidez, artikuluentzako kalkulu-orri bat baduzu eta artikulu bakoitza artikulu-zenbaki baten bidez identifikatuta badago, eta bezeroentzako beste kalkulu-orri bat baduzu eta bertan bezeroak eskatutako artikulu guztiak artikulu-zenbakiaren bidez erregistratzen badituzu, erlazioa egongo da bi tauletako "artikulu-zenbakia" datu-eremuen artean. Orain bezero batek eskatutako artikulu guztiak itzuliko dituen kontsulta sortu nahi baduzu, informazioa bi kalkulu-orrietatik berreskuratu behar duzu. Horretarako, bi kalkulu-orrietako datuen artean zein erlazio dagoen esan behar diozu LibreOffice aplikazioari.

Horretarako, egin klik taulako eremu-izen batean (adibidez, bezeroen taulako "Elementu-zenbakia" eremu-izenean), sakatuta eduki saguaren botoia eta arrastatu eremu-izena beste taulako eremu-izenera (elementuen taulako "Elementu-zenbakia"). Saguaren botoia askatutakoan, bi eremuak lotzen dituen marra ikusiko duzu bi taula-leihoetan. Lortzen den SQL kontsultan ondorengo baldintza sartzen da: bi eremu-izenek eduki bera eduki behar dute.

Erlazionatuta dauden hainbat orritan oinarritutako kontsulta bat sortzeko, LibreOffice erabili behar da datu-base erlazional baten interfaze gisa.

Ezin dira datu-base desberdinetako taulak atzitu kontsulta batean. Taula anitz hartzen dituzten kontsultak datu-base bakar baten barruan soilik sortu daitezke.

### Erlazio mota zehaztae

Estekatutako bi eremu lotzen dituen marran klik bikoitza egiten bada edo Txertatu - Erlazio berria menu-komandoa erabiltzen bada, erlazio mota zehaztu daiteke Erlazioak elkarrizketa-koadroan.

Bestela, sakatu tabulazio-tekla lerroa hautatu arte, ondoren, sakatu ⇧+F10 laster-menua bistaratzeko, eta gero, aukeratu Editatu komandoa. Zenbait datu-basek elkartze mota guztien multzo bat soilik onartzen dute.

### Erlazioak ezabatzea

Bi taularen arteko erlazioa ezabatzeko, egin klik konexio-marran eta sakatu Delete tekla.

Bestela, ezabatu bakoitzari dagokion sarrera Erlazioak elkarrizketa-koadroko Hartzen diren eremuak aukeratik. Edo sakatu tabulazio-tekla lotura-bektorea nabarmenduta bistaratu arte, sakatu ⇧+F10 laster-menua irekitzeko eta hautatu Ezabatu komandoa.

## Kontsulta definitzea

Hautatu kontsulta definitzeko baldintzak. Diseinu-taulako zutabe guztiek kontsultarako datu-eremua onartzen dute. Errenkada bateko baldintzak ETA boolearraren bidez estekatuko dira.

### Eremu-izenak zehaztea

Aurrena, hautatu kontsultari gehitu nahi dizkiozun tauletako eremu-izen guztiak. Hori arrastatu eta jareginen bidez egin dezakezu, edo bestela, egin klik bi aldiz taularen leihoko eremu-izen batean. Arrastatu eta jaregin metodoaren bidez, sagua erabili eremu-izena taula-leihotik kontsulta-diseinuaren leihoaren beheko areara arrastatzeko. Hori egitean, erabaki dezakezu kontsulta-diseinuaren leihoko zein zutabek hartuko duen hautatutako eremua. Eremu-izena hautatzeko beste modu bat klik bikoitza egitea da. Orduan, kontsulta-diseinuaren leihoko hurrengo zutabe libreari gehituko zaio.

### Eremu-izenak ezabatzea

Kontsultatik eremu-izen bat kentzeko, egin klik eremuaren zutabe-goiburukoan eta aukeratu Ezabatu komandoa zutabearen laster-menuan.

### Kontsulta gordetzea

Kontsulta gordetzeko, erabili 'Estandarra' tresna-barrako Gorde ikonoa. Kontsulari izen bat emateko elkarrizketa-koadro bat agertuko da. Datu-baseak eskemak onartzen baditu, eskema-izen bat ere zehaztu daiteke.

#### Eskema

Sartu kontsultari edo taula-ikuspegiari esleitu zaion eskemaren izena.

#### Kontsultaren izena edo taula-ikuspegiaren izena

Sartu kontsultaren edo taula-ikuspegiaren izena.

### Datuak iragaztea

Kontsultarako datuak iragazteko, ezarri nahi dituzun irizpideak diseinu-ikuspegiaren leihoaren beheko arean. Honako aukerak daude erabilgarri:

#### Eremua

Idatzi kontsultan erreferentzia egiten zaion datu-eremuaren izena. Iragazki-aukeren errenkadetako ezarpen guztiek eremu horri egingo diote erreferentzia. Klik eginez gelaxka bat aktibatzen baduzu hemen, gezi-botoia ikusiko duzu, eta horrek eremua hautatzeko aukera emango dizu. "Taularen izena.*" aukerak datu-eremu guztiak hautatzen ditu eta zehaztutako irizpideak taulako eremu guztietan aplikatuko dira.

#### Aliasa

Aliasa zehazten du. Aliasa eremu-izenaren ordez erakutsiko da kontsultan. Hala, erabiltzaileak definitutako zutabe-etiketak erabil daitezke. Adibidez, datu-eremuaren izena PtNo bada eta horren ordez kontsultan PartNum agertzea nahi baduzu, sartu PartNum alias gisa.

SQL instrukzioetan aliasak honela definitzen dira:

SELECT column AS alias FROM table.

Adibidez:

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

#### Taula

Hautatutako datu-eremuari dagokion datu-baseko taula hemen azaltzen da. Klik eginez gelaxka hori aktibatzen baduzu, gezia agertuko da, eta horren bidez uneko kontsultaren beste taula bat hauta dezakezu.

#### Ordenatu

Gelaxka horretan klik egiten baduzu, ordenatzeko aukera bat hauta dezakezu: gorantz, beherantz eta ez ordenatu. Testu-eremuak alfabetikoki ordenatuko dira (Atik Zra) eta zenbakizko eremuak zenbakien bidez (0tik 9ra). Datu-base gehienetan, datu-base mailako ordenatze-aukerak administratzaileek ezartzen dituzte.

#### Ikusgai

Datu-eremu batentzat Ikusgai propietatea markatzen baduzu, eremu hori ikusgai egongo da emaitza gisa eskuratutako kontsultan. Datu-eremua baldintza formulatzeko edo kalkulu bat egiteko erabiltzen baduzu, ez duzu derrigorrez erakutsi behar.

#### Irizpideak

Datu-eremuaren edukiak iragazteko erabiliko den lehen irizpide bat zehazten du.

#### edo

Hemen, iragazte-irizpide gehigarri bat sartu daiteke lerro bakoitzean. Zutabe baten gaineko irizpide anitz OR boolear gisa ulertuko dira.

Lerroetako goiburukoen laster-menua ere erabili daiteke, kontsulta-diseinuko leihoaren beheko arean, funtzio batean oinarritutako beste iragazki bat txertatzeko:

### Funtzioak

Hemen ageri diren funtzioak datu-basearen motorraren araberakoak dira.

HSQL datu-base kapsulatu batekin lan egiten bada, Funtzioa errenkadako zerrenda-koadroak honako aukerak eskaintzen ditu:

Aukera | SQL | Efektua
--- | --- | ---
Funtziorik ez |  | Ez da funtziorik exekutatuko.
Batezbestekoa | AVG | Eremuen batezbesteko aritmetikoa kalkulatzen du.
Kopurua | COUNT | Taulako erregistro kopurua zehazten du. Eremu hutsak zenbatu egin daitezke (a) edo kanpoan utz daitezke (b). a) COUNT(*): argumentu gisa izartxoa sartzen bada, taulako erregistro guztiak kontatzen dira. b) COUNT(zutabea): Eremu-izen bat pasatzean argumentu gisa, eremu zehatz horrek balioak dituen erregistroak soilik zenbatzen dira. Eremuak NULL balioa dituen erregistroak (alegia, testurik edo zenbakizko baliorik ez dutenak) ez dira zenbatuko.
Gehienekoa | MAX | Erregistro batek eremu horretarako duen baliorik altuena zehazten du.
Gutxienekoa | MIN | Erregistro batek eremu horretarako duen baliorik baxuena zehazten du.
Batura | SUM | Elkartutako eremuen erregistroetako balioen batura kalkulatzen du.
Elkartu | GROUP BY | Kontsultako datuak hautatutako eremu-izenaren arabera elkartzen ditu. Funtzioak ere zehaztutako taldeen arabera exekutatzen dira. SQLn aukera hau GROUP BY klausulari dagokio. Irizpide bat gehitzen bada, sarrera hau SQL HAVING azpiklausulan agertuko da.

Funtzioak zuzenean SQL instrukzioan ere sar daitezke. Sintaxia honako hau da:

SELECT FUNCTION(zutabea) FROM taula.

Adibidez, SQLn batura kalkulatzeko funtzioa honako hau da:

    SELECT SUM("Prezioa") FROM "Artikulua".

Taldea funtzioari izan ezik, goian aipatutako beste funtzio guztiei agregazio-funtzio deitzen zaie. Funtzio horiek datuak kalkulatzen dituzte, emaitzetatik abiatuz laburpenak sortzeko. Zerrenda-koadroan agertzen ez diren funtzio gehigarriak ere erabilgarri egon daitezke. Hori erabiltzen den datu-basearen motorraren araberakoa izango da, bai eta motor horrekin konektatzeko erabili den Base kontrolatzailearen araberakoa ere.

Zerrenda-koadroan agertzen ez diren beste funtzio batzuk erabiltzeko, Eremua aukeran eskuz sartu behar dituzu.

Dei-funtzioei aliasak ere esleitu diezazkiekezu. Kontsulta-katea zutabearen goiburukoan ez baduzu bistaratu nahi, sartu ordezko izen bat Aliasa aukeran.

SQL instrukzioan dagokion funtzioa honako hau da:

SELECT FUNCTION() AS alias FROM taula

Adibidea:

    SELECT COUNT(*) AS count FROM "Elementua"

Funtzio hori exekutatzen baduzu, ezingo duzu zutabe gehigarririk txertatu kontsultan, "Elkartu" funtzio bateko argumentu bat ez bada.

Adibideak

Ondorengo adibidean, kontsulta bi taulen bidez exekutatzen da: "Elementu-zk." eremua duen "Elementua" taula eta "Hornitzaile-izena" eremua duen "Hornitzaileak" taula. Gainera, bi taulek "Hornitzaile-zk." deituriko eremua dute.

Ondorengo urratsak beharrezkoak dira hiru elementu baino gehiago banatzen dituzten hornitzaileak dituen kontsulta sortzeko.

1. Txertatu "Elementua" eta "Hornitzaileak" taulak kontsulta-diseinuan.

2. Estekatu bi tauletako "Hornitzaile-zk." eremuak, mota horretako erlaziorik lehendik ez badago.

3. Egin klik bikoitza "Elementua" taulako "Elementu-zk." eremuan. Bistaratu Funtzioa errenkada laster-menuaren bidez eta hautatu Count funtzioa.

4. Sartu >3 irizpide gisa eta desgaitu Ikusgai eremua.

5. Egin klik bikoitza "Hornitzaileak" taulako "Hornitzaile-izena" eremuan eta aukeratu Group funtzioa.

6. Exekutatu kontsulta.

"Elementua" taulan "prezioa" (artikulu baten prezioa) eta "Hornitzaile-zk." (artikuluaren hornitzailea) eremuak baldin badaude, hornitzaileak banatutako elementuaren batez besteko prezioa lor dezakezu ondorengo kontsultaren bidez:

1. Txertatu "Elementua" taula kontsulta-diseinuan.

2. Egin klik bikoitza "Prezioa" eta "Hornitzaile-zk." eremuetan.

3. Gaitu Funtzioa errenkada eta hautatu Average funtzioa "Prezioa" eremuan.

4. Alias-izenaren errenkadan ere sar dezakezu "Batezbestekoa" (komatxorik gabe).

5. Aukeratu Elkartu "Hornitzaile-zk." eremuan.

6. Exekutatu kontsulta.

Laster-menuko ondorengo komandoak eta ikurrak daude erabilgarri:

### Funtzioak

Errenkada bat erakutsi edo ezkutatzen ditu funtzioak hautatzeko.

### Taularen izena

Taularen izenaren errenkada erakutsi edo ezkutatzen du.

### Aliasa

Aliasaren izenaren errenkada erakutsi edo ezkutatzen du.

### Balio unibokoak

Kontsultatik balio unibokoak soilik atzitzen ditu. Hautatutako eremuetan hainbat aldiz agertzen diren datuak dituzten erregistro anitzei aplikatzen zaie hori. Balio unibokoak komandoa aktibatuta badago, erregistro bakarra ikusi beharko zenuke kontsultan (DISTINCT). Bestela, kontsulta-irizpideari dagozkion erregistro guztiak ikusiko dituzu (ALL).

Adibidez, "Agirre" abizena hainbat aldiz agertzen bada helbideen datu-basean, Balio unibokoak komandoa hauta dezakezu kontsultan "Agirre" abizena behin bakarrik agertuko dela zehazteko.

Hainbat eremu dituen kontsultaren kasuan, eremu guztietako balioen konbinazioak unibokoa izan behar du, horrela emaitza erregistro jakin batean oinarrituz osatu ahal izango da. Adibidez, "Donostiako Agirre" behin agertzen da helbide-liburuan, eta "Bilboko Agirre" bitan. Balio unibokoak komandoaren bidez, kontsultak "abizena" eta "herria" eremuak erabiliko ditu eta honako emaitza itzuliko du: "Donostiako Agirre" behin eta "Bilboko Agirre" behin.

SQLn, komando hori DISTINCT predikatuari dagokio.

### Muga

Kontsulta batek ematen duen erregistro kopuru maximoa mugatzea ahalbidetzen du.

Muga bat gehitzen bada, zehazten duzun kopuruaren adina errenkada eskuratuko duzu. Bestela, kontsulta-irizpideari dagozkion erregistro guztiak ikusiko dituzu.

### Iragazki-baldintzak formulatzea

Eragile eta komando asko dituzu erabilgarri iragazki-baldintzak formulatzeko. Eragile erlazionalez gain, SQL komandoak daude. Horiek datu-basearen eremuen edukia kontsultatzen dute. LibreOffice sintaxian komando horiek erabiltzen badituzu, LibreOffice aplikazioak komando horiek automatikoki SQL sintaxi bilakatuko ditu, barneko analizatzaile bat erabilita. SQL komandoa zuzenean ere sar dezakezu, barneko analizatzailea kontuan hartu gabe. Ondorengo taulek eragileen eta komandoen ikuspegi orokorra eskaintzen dizute:

Eragilea | Esanahia | Baldintza beteko da baldin eta...
--- | --- | ---
= | honen berdina | ... eremuaren edukia zehaztutako adierazpenaren berdina bada. = eragilea ez da bistaratuko kontsulta-eremuetan. Balioa eragilerik gabe sartzen baduzu, = eragilea automatikoki hartuko da.
<> | ez da honen berdina | ... eremuko edukia ez badagokio zehaztutako adierazpenari.
> | hau baino handiagoa da | ... eremuaren edukia zehaztutako adierazpena baino handiagoa bada.
< | hau baino txikiagoa da | ... eremuaren edukia zehaztutako adierazpena baino txikiagoa bada.
>= | hau baino handiagoa edo berdina da | ... eremuaren edukia zehaztutako adierazpena baino handiagoa edo berdina bada.
<= | hau baino txikiagoa edo berdina da | ... eremuaren edukia zehaztutako adierazpena baino txikiagoa edo berdina bada.

LibreOffice komandoa | SQL komandoa | Esanahia | Baldintza beteko da baldin eta...
--- | --- | --- | ---
IS EMPTY | IS NULL | nulua da | ... eremuak ez du daturik. Hiru balizko egoera dituzten 'Bai/Ez' eremuetan, komando honek automatikoki kontsultatuko du zehaztu gabeko egoera (ez 'Bai' ez 'Ez').
IS NOT EMPTY | IS NOT NULL | ez dago hutsik | ... eremua ez dago hutsik, hau da, datuak ditu.
LIKE (*) leku-marka edozein karaktere kopururentzat (?) leku-marka karaktere bakarrarentzat | LIKE (%) leku-marka edozein karaktere kopururentzat (_) leku-marka karaktere bakarrarentzat | honen elementua da | ... datu-eremuak zehaztutako adierazpena badauka. (*) leku-markak adierazten du x adierazpena eremu-edukiaren hasieran (x*), amaieran (*x) edo barnean (*x*) agertzen den. SQL kontsultetan, SQL % karakterea edo LibreOffice interfazeko fitxategi-sistemako (*) leku-marka ezaguna sar ditzakezu leku-marka gisa. (*) edo (%) leku-markek edozein karaktere kopuru adierazten dute. LibreOffice interfazeko galdera-ikurrak (?) edo SQL kontsultetako azpimarrak (_) karaktere bakarra adierazten dute.
NOT LIKE | NOT LIKE | ez da honen elementua | ... eremuak ez badu zehaztutako adierazpena duen daturik.
BETWEEN x AND y | BETWEEN x AND y | [x,y] tartearen barnean dago | ... eremuak x eta y balioen arteko datu-balioa badauka.
NOT BETWEEN x AND y | NOT BETWEEN x AND y | Ez dago [x,y] tartearen barnean | ... eremuak x eta y balioen artean ez dagoen datu-balioa badauka.
IN (a; b; c...) Kontuan izan puntu eta koma erabiltzen dela balio-zerrenden bereizle gisa! | IN (a, b, c...) | a, b, c... ditu | ... eremu izenak zehaztutako adierazpenetako bat badauka: a, b, c,... Nahi adina adierazpen zehaztu daitezke eta kontsultaren emaitza OR boolear baten bidez bidez zehazten da. a, b, c... adierazpenak zenbakiak edo karaktereak izan daitezke
NOT IN (a; b; c...) | NOT IN (a, b, c...) | ez dauka a, b, c... | ... eremuak ez badu zehaztutako adierazpenik: a, b, c,...
= TRUE | = TRUE | True (egia) balioa du | ... eremu-izenak True (egia) balioa badu.
= FALSE | = FALSE | False (faltsua) balioa du | ... eremuaren datu-balioa faltsua bada.

### Adibideak

='Jn.' | "Jn." eremu-edukia duten eremu-izenak itzultzen ditu
<'2001-01-10' | 2001eko urtarrilaren 10a baino lehen izan ziren datak itzultzen ditu
LIKE 'bain?' | "baina" eta "bainu" edukia duten erregistroak itzultzen ditu.
LIKE 'S*' | "Sun" gisako edukia duten datu-eremuak dituzten erregistroak itzultzen ditu.
BETWEEN 10 AND 20 | 10 eta 20 bitarteko balioak dituzten erregistroak itzultzen ditu. (Eremuak testu-eremuak edo zenbaki-eremuak izan daitezke).
IN (1; 3; 5; 7) | 1, 3, 5, 7 balioak dituzten erregistroak itzultzen ditu. Eremu-izenak zenbakia baldin badu, zehaztutako zenbakia duen elementua itzultzen duen kontsulta sor dezakezu.
NOT IN ('Agirre') | "Agirre" ez duten erregistroak itzultzen ditu.

Like ihes-sekuentzia: {escape 'escape-character'}

Adibidea:

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

Adibideak sarrera guztiak emango dizkizu, non elementu-izena 'The *' bidez hasten den. Horrek esan nahi du bilaketa karaktere bidez ere egin daitekeela, normalean leku-marka gisa interpretatuko liratekeenak, adibidez, *, ?, _, % edo puntua.

Outer Join ihes-sekuentzia: {oj outer-join}

Adibidea:

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

### Testu-eremuak kontsultatzea

Testu-koadroen edukia kontsultatzeko, adierazpena komatxo bakunen artean ipini behar duzu. Maiuskula eta minuskulen arteko bereizketa datu-basearen arabera egongo da. LIKE komandoak, lehenespenez, maiuskulak eta minuskulak bereizten ditu (hala ere, datu-base batzuek ez dute hori zorrotz interpretatzen).

### Data-eremuak kontsultatzea

Data-eremuak #Date# modura adierazten dira, datak direla argi gera dadin. Baldintzetan erabilitako data, ordua eta data/ordua konstanteak (literalak) SQL Escape Syntax motakoak edo SQL2 Syntax mota lehenetsikoak izan daitezke.

Data motako elementua | SQL ihes-sintaxia #1 - zaharkituta egon daiteke | SQL ihes-sintaxia #2 | SQL2 sintaxia
--- | --- | --- | ---
Data | {D'YYYY-MM-DD'} | {d 'YYYY-MM-DD'} | 'YYYY-MM-DD'
Ordua | {D'HH:MM:SS'} | {t 'HH:MI:SS[.SS]'} | 'HH:MI:SS[.SS]'
DataOrdua | {D'YYYY-MM-DD HH:MM:SS'} | {ts 'YYYY-MM-DD HH:MI:SS[.SS]'} | 'YYYY-MM-DD HH:MI:SS[.SS]'

Adibidea:

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

Adibidea:

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

Data-adierazpen guztiek (data-literalak) komatxo bakunekin inguratuta egon behar dute. Begiratu erabiltzen ari zaren datu-base eta konektore mota bakoitzaren erreferentzia, xehetasun gehiagorako.

### Bai/Ez eremuak kontsultatzea

Bai/Ez eremuak kontsultatzeko, erabili ondorengo sintaxia dBASE tauletan:

Egoera | Kontsulta-irizpidea | Adibidea
--- | --- | ---
Bai | dBASE tauletan: emandako balioaren berdina ez dena | =1 adierazpenak erregistro guztiak itzultzen ditu, non Bai/Ez eremuak "Yes" edo "On" egoera (beltzez hautatuta) duen,
Ez | . | =0 adierazpenak erregistro guztiak itzultzen ditu, non Bai/Ez eremuak "No" edo "Off" egoera (hautatu gabe) duen.
Null | IS NULL | IS NULL adierazpenak erregistro guztiak itzultzen ditu, non Bai/Ez eremuak ez duen ez Yes ez No egoerarik (grisez hautatuta).

Sintaxia erabiliko den datu-basearen sistemaren arabera dago. Kontuan izan Bai/Ez eremuak beste modu batean ere zehaztu daitezkeela (2 egoera soilik 3ren ordez).

### Parametro-kontsultak

Parametro-kontsulten bidez, erabiltzaileak exekuzio-garaian sar ditzake balioak. Balio horiek, bistaratuko diren erregistroen hautapen-irizpideetan erabiliko dira. Balio horietako bakoitzak parametro-izen bat dauka lotuta, kontsulta exekutatzen denean erabiltzaileari galdetzeko erabiliko dena.

Parametro-izenaren aurretik bi puntu doaz, kontsultaren diseinu-ikuspegian zein SQL ikuspegian. Hori, balio bat ager daitekeen edozein tokitan erabil daiteke. Balio bera behin baino gehiagotan agertzen bada kontsultan, parametro-izen bera erabiliko da.

Kasurik sinpleenean, erabiltzaileak berdintasunerako probatzen duen balioa sartzen duenean, parametro-izena, aurreko bi puntuak barne, 'Irizpidea' errenkadan sartzen da. SQL moduan honela idatzi daiteke: WHERE "Eremua" = :Parametro-izena

Parametro-izenek ezin dituzte honako karaktereak eduki: <space>`!"$%^*()+={}[]@'~#<>?/,. Ezin dira izan SQLk erreserbatutako dituen hitzak edo eremu-izenak. Aliasen berdinak izan daitezke.

Testu-eremu baten edukien zatietan oinarrituta erregistroak hautatzeko modu erabilgarri bat "LIKE '%' || :Eremuaren_zatia || '%'" irizpide gisa duen ezkutuko zutabe bat gehitzea da. Formula horrek zehazki bat datozen erregistroak hautatuko ditu. Maiuskulak/minuskulak kontuan hartzen dituen testua lortu nahi bada, erabili LOWER (Eremu_izena) eremu gisa eta LIKE LOWER ( '%' || :Eremuaren_zatia || '%' ) irizpide gisa. Kontuan izan irizpideko zuriuneak garrantzitsuak diela; kanpo uzten badira, SQL analizatzaileak ulertzen du irizpide osoak bat egin behar duela katearekin. SQL moduan honela idatzi behar da: LOWER ( "Eremuaren izena" ) LIKE LOWER ( '%' || :Eremuaren_zatia || '%' ).

Parametro-kontsultak azpinprimakietarako datu-iturburu gisa erabili daitezke, erabiltzaileak bistaratzen diren erregistroak mugatu ahal dezan.

### Parametro-sarrera

Parametro-sarrera elkarrizketa-koadroan, erabiltzaileari parametro-balioak sartzeko eskatuko zaio. Sartu balio bat kontsulta-parametro bakoitzerako eta berretsi Ados botoia sakatuta edo ⏎ idatzita.

Erabiltzaileak sartutako balioek SQLk irizpide garrantzitsurako onartzen duen edozein karaktere eduki dezakete; azpiko datu-base sistemaren araberakoa izan daiteke hori.

Erabiltzaileak SQL komodin-karaktereak erabil ditzake ("%", ausazko katea, edo "_", ausazko karaktere bakarra) balioaren zati gisa, erregistroak irizpide konplexuagoen arabera atzitzeko.

## SQL modua

SQLk "Structured Query Language" (Kontsulta-lengoaia egituratua) esan nahi du, eta datu-base erlazionalak eguneratzeko eta kudeatzeko instrukzioak deskribatzen ditu.

LibreOffice aplikazioan, kontsulta gehienetarako, ez da beharrezkoa SQL ezagutzea, ez baita SQL koderik sartu behar. Kontsulta-diseinatzailean kontsulta bat sortzen bada, LibreOffice aplikazioak instrukzioak haiei dagozkien SQL sintaxi bihurtuko ditu automatikoki. Aktibatu/desaktibatu diseinu-ikuspegia botoiaren bidez SQL ikuspegira joanez gero, aurrez sortutako kontsulta baten SQL komandoak ikusi daitezke.

Kontsulta zuzenean SQL kodean formulatu daiteke. Kontuan izan, hala ere, sintaxi berezia erabilitako datu-basearen sistemaren araberakoa izango dela.

SQL kodea eskuz sartzen bada, Kontsulta-diseinatzailea interfaze grafikoak onartzen ez dituen SQL kontsultak sortu daitezke. Kontsulta horiek jatorrizko SQL moduan exekutatu behar dira.

SQL ikuspegiko Exekutatu SQL komandoa zuzenean ikonoan klik eginez, LibreOffice aplikazioak prozesatzen ez duen kontsulta bat formulatu daiteke eta zuzenean datu-basearen motorrari bidali.

Emaguzu laguntza!