Tartalom

# Lekérdezéstervező

A Lekérdezéstervező nézet lehetővé teszi adatbázis-lekérdezés létrehozását és szerkesztését.

Ennek a parancsnak az eléréséhez...

In a database file window, click the Queries icon, then choose Edit - Edit.

A legtöbb adatbázis lekérdezéseket használ a rekordok megjelenítésére a számítógépen az adatbázistáblák szűrése és rendezése által. A nézetek ugyanazt a funkcionalitást biztosítják, mint a lekérdezések, csak kiszolgálóoldalon. Ha a használt adatbázis olyan kiszolgálón van, amely támogatja a nézeteket, használhatja a nézeteket a rekordok kiszolgálón történő szűréséhez. A megjelenítési idő ilyenkor lecsökken.

Ha az adatbázis-dokumentum Táblázatok lapján a Nézet létrehozása parancsot választja, akkor megjelenik a Nézetterv ablak, amely hasonlít a Lekérdezéstervező ablakra.

A Lekérdezéstervező ablak elrendezése a létrehozott lekérdezéssel tárolódik, de nem tárolható létrehozott nézettel.

## A tervezőnézet

Lekérdezés létrehozásához kattintson a Lekérdezés ikonra egy adatbázis-dokumentumban, majd kattintson a Lekérdezés létrehozása a tervezőnézetben lehetőségre.

A tervezőnézet alsó panelén határozza meg a lekérdezést. A lekérdezés definiálásához adja meg a tartalmazni kívánt adatbázis-mezők nevét és a mezők megjelenítésének kritériumait. A tervezőnézet alsó panelében lévő oszlopok átrendezéséhez húzza az oszlopfejlécet egy új helyre, vagy jelölje ki az oszlopot, és nyomja le a Command Ctrl+nyíl billentyűkombinációt.

A lekérdezés Tervezőnézet ablakának tetején megjelennek a Lekérdezéstervező eszköztár és a Tervezés eszköztár ikonjai.

Ha tesztelni kívánja a lekérdezést, akkor kattintson duplán a lekérdezés nevére az adatbázis-dokumentumban. A lekérdezés eredménye az Adatforrás nézethez hasonló táblában jelenik meg. Megjegyzés: a megjelenített tábla csak ideiglenes.

### Billentyűk a Lekérdezéstervező nézetben

Billentyű | Funkció
--- | ---
F4 | Előnézet
F5 | Lekérdezés futtatása
F7 | Tábla vagy lekérdezés hozzáadása

## Tallózás

A lekérdezéstervező első megnyitásakor megjelenik a párbeszédablak, amelyben először ki kell választania a lekérdezés alapjául szolgáló táblát.

Kattintson duplán a mezőkön a lekérdezéshez való hozzáadásukhoz. Fogd és vidd módszerrel határozza meg a kapcsolatot.

Lekérdezés tervezése közben nem módosíthatja a kiválasztott táblákat.

### Táblák eltávolítása

A tábla Tervezőnézetből eltávolításához kattintson a táblaablak felső szegélyére, és jelenítse meg a helyi menüt. A Törlés parancs segítségével eltávolíthatja a táblát a Tervezőnézetből. Másik lehetőség a Delete billentyű megnyomása.

### Tábla áthelyezése és méretének változtatása

A táblákat igényeinek megfelelően átméretezheti és elrendezheti. A táblák áthelyezéséhez húzza a felső szegélyt a kívánt helyre. Nagyítsa vagy csökkentse a tábla megjelenítési méretét: vigye az egérkurzort a szegélyre vagy a sarokra, és húzza addig a táblát, amíg el nem éri a kívánt méretet.

## Táblakapcsolatok

Amennyiben adatreláció van két különböző tábla mezői között, ezeket a relációkat a lekérdezésben is használhatja.

Ha például van egy táblája a cikkszámmal azonosított cikkekhez, és egy tábla az ügyfelekhez, amelyben rögzíti az összes cikket, amelyet az ügyfél rendel a megfelelő cikkszámmal, akkor reláció van a két „cikkszám” adatmező között. Ha létre akar hozni egy lekérdezést, amely visszaadja az ügyfelek által rendelt összes cikket, akkor két táblából kell lekérnie az adatokat. Ennek végrehajtásához meg kell mondania a LibreOffice-nak, hogy mi a kapcsolat a két tábla adatai között.

Ennek végrehajtásához kattintson a mezőnévre a táblában (például az „Elemszám” mezőnév a Vásárló táblából), tartsa lenyomva az egérgombot, és húzza át a mezőnevet a másik tábla mezőnevéhez („Elemszám” az Elem táblából). Amikor elengedi az egérgombot, a két táblaablak között megjelenik a mezőket összekötő vonal. A feltétel, hogy a két mezőnév tartalmának meg kell egyeznie, bekerül az eredményül kapott SQL-lekérdezésbe.

Olyan lekérdezés létrehozása, amely több relációban lévő munkalapon alapul, csak akkor lehetséges, ha a LibreOffice-t egy relációs adatbázis előtét-felületeként használja.

Egy lekérdezésben nem férhet hozzá különböző adatbázisban levő táblákhoz. Több táblára vonatkozó lekérdezések csak egy adatbázison belül hozhatók létre.

### A kapcsolat típusának megadása

Ha duplán kattint a két mezőt összekötő vonalra, vagy meghívja a Beszúrás - Új reláció menüparancsot, akkor a Relációk párbeszédablakban megadhatja a reláció típusát.

Megnyomhatja többször a Tab billentyűt, amíg a sort ki nem jelöli a rendszer, majd nyomja meg a Shift+F10 billentyűkombinációt a helyi menü megjelenítéséhez, és itt válassza ki a Szerkesztés parancsot. Egyes adatbázisok csak egy részhalmazát támogatják a lehetséges összekapcsolás-típusoknak.

### Kapcsolatok törlése

Két táblázat közötti reláció törléséhez kattintson az összeköttetésre, és nyomja meg a Delete billentyűt.

Vagy törölje a megfelelő bejegyzéseket a Relációk párbeszédablak Érintett mezőiből. Vagy nyomja le a Tab billentyűt addig, amíg a kapcsolati vektor ki nem lesz jelölve, majd nyomja meg a Shift és F10 billentyűt a helyi menü megnyitásához, és válassza a Törlés parancsot.

## A lekérdezés megadása

Válassza ki a feltételeket a lekérdezés megadásához. A tervezőtábla minden oszlopa elfogadja a lekérdezés egyik adatmezőjét. Az egy sorban lévő feltételek logikai ÉS operátorral vannak összekapcsolva.

### Mezőnevek megadása

Először válassza ki lekérdezéshez adandó összes mezőnevet a táblákból. Ezt megteheti fogd és vidd módszerrel, vagy dupla kattintással egy mezőnévre a tábla ablakban. A fogd és vidd módszerrel használja az egeret egy mezőnév áthúzására a tábla ablakból a lekérdezéstervező ablak alsó részére. Eközben eldöntheti, hogy a lekérdezéstervező ablak melyik oszlopa kapja a kijelölt mezőt. A mezőnév dupla kattintással is kiválasztható. Ekkor a lekérdezéstervező ablak következő üres oszlopához kerül hozzáadásra.

### Mezőnevek törlése

A mezőnév lekérdezésből eltávolításához kattintson a mező oszlopfejlécére és az oszlop helyi menüjéből válassza ki a Törlés parancsot.

### A lekérdezés mentése

A Standard eszköztár Mentés ikonja segítségével mentse a lekérdezést. Megjelenik egy párbeszédablak, amelyben meg kell adni a lekérdezés nevét. Ha az adatbázis támogatja a sémákat, akkor megadhat egy sémanevet.

#### Séma

Adja meg a lekérdezés- vagy táblanézethez rendelni kívánt séma nevét.

#### A lekérdezés vagy a táblanézet neve

Írja be a lekérdezés vagy a táblanézet nevét.

### Adatok szűrése

A lekérdezés adatainak szűréséhez állítsa be a kívánt feltételeket a lekérdezéstervező ablak alsó területén. Az alábbi lehetőségek állnak rendelkezésre:

#### Mező

Írja be a lekérdezésben hivatkozott adatmező nevét. A szűrő beállítási soraiban megadott minden beállítás erre a mezőre vonatkozik. Ha itt egy egérkattintással kijelöl egy cellát, akkor megjelenik egy nyíl gomb, ami lehetővé teszi egy mező kijelölését. A „Tábla neve.*” lehetőség az összes adatmezőt kiválasztja, így a kijelölt feltételek minden táblamezőre alkalmazva lesznek.

#### Álnév

Álnevet adhat meg. Ez az álnév fog szerepelni a lekérdezésben a mezőnév helyett. Így lehetővé válik egyéni oszlopcímkék alkalmazása. Ha például az adatmező a PtNo nevet viseli, amely helyett a PartNum nevet szeretné a lekérdezésben megjeleníteni, akkor adja meg a PartNum nevet álnévként.

Egy SQL-utasításban az álnevek a következő módon vannak meghatározva:

SELECT oszlopnév AS álnév FROM táblanév.

Például:

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

#### Tábla

A kiválasztott adatmezőnek megfelelő adatbázistábla itt látszik. Amennyiben a cellára rákattint, egy nyíl jelenik meg, amellyel az aktuális lekérdezés egy másik tábláját is kiválaszthatja.

#### Rendezés

Ha a cellára kattint, a következő rendezési szempontok közül választhat: növekvő, csökkenő, illetve nem rendezett. A szövegmezők betűrend szerint (A-tól Z-ig), a számmezők numerikusan (0-tól 9-ig) kerülnek rendezésre. A legtöbb adatbázisnál az adminisztrátorok megadhatják a rendezési beállításokat.

#### Látható

Ha bekapcsolja egy adatmező Látható tulajdonságát, akkor az a mező látható lesz a lekérdezésben. Ha csak adatmezőt használ a feltétel kialakításához vagy számításhoz, akkor nem kell megjelenítenie.

#### Feltételek

Megadja az első kritériumot, amely alapján az adatmező tartalmát szűrni kell.

#### vagy

Itt egy további szűrési feltételt adhat meg minden sorhoz. Több feltétel egy oszlopban logikai VAGY kapcsolattal lesz értelmezve.

A lekérdezéstervező ablak alsó részében a sorok fejlécének helyi menüje segítségével még egy szűrőt be lehet illeszteni függvény alapján:

### Függvények

Az itt elérhető függvények az adatbázismotortól függenek.

Ha beágyazott HSQL-adatbázist kezel, akkor a Függvény sor listája az alábbi lehetőségeket biztosítja:

Beállítás | SQL | Hatás
--- | --- | ---
Semmi |  | Nem lesz függvény végrehajtva.
Átlag | AVG | Kiszámolja egy mező számtani középértékét.

Darab

COUNT

Meghatározza a tábla rekordjainak számát. Az üres mezők beleszámolhatók (a) vagy kizárhatók (b).

a) COUNT(*): A csillag argumentum megadásával megszámolhatja a tábla összes rekordját.

b) COUNT(oszlop): Ha mezőnevet ad át argumentumként, akkor a rendszer csak azokat a mezőket számolja meg, amelyben a kérdéses mező neve tartalmaz értéket. A nullértékeket (érték nélküli üres mezők) a rendszer nem számolja.

Maximum | MAX | Meghatározza egy mező rekordjának legnagyobb értékét.
Minimum | MIN | Meghatározza egy mező rekordjának legkisebb értékét.
Összeg | SUM | Kiszámolja a társított mezők rekordértékeinek összegét.
Csoportosítás | GROUP BY | Csoportosítja a lekérdezési adatokat a kiválasztott mezőnevek alapján A függvények a megadott csoportoknak megfelelőn kerülnek végrehajtásra. SQL-ben ez a beállítás a GROUP BY záradéknak felel meg. Ha egy feltétel meg van adva, akkor ez a bejegyzés az SQL HAVING részben jelenik meg.

Függvényhívásokat közvetlenül SQL-utasítás formájában is megadhat. A szintaxis az alábbi:

SELECT FÜGGVÉNYNÉV(oszlop) FROM tábla.

Például az összeg kiszámítására szolgáló függvényhívás az SQL-nyelvben a következőképpen néz ki:

    SELECT SUM("ár") FROM "cikk".

A Csoportosítás kivételével a fenti függvényeket Összesítő függvényeknek hívják. Ezek azok a függvények, amelyek számításokat végeznek az adatokon, és az eredmény összegszerű érték. További függvények is lehetségesek, amelyek nincsenek a listában. Ezek a használt adatbázismotortól és az ahhoz kapcsolódásra használt Base illesztőprogramtól függenek.

Az ebben a listamezőben nem szereplő függvények használatához be kell írni azokat a Mező alatt.

Álneveket is rendelhet a függvényhívásokhoz. Ha a lekérdezést nem szeretné megjeleníteni az oszlopfejlécben, akkor adjon meg egy helyettesítő nevet az Álnevek alatt.

Az SQL-nyelvben a megfelelő függvény a következő:

SELECT FÜGGVÉNYNÉV() AS álnév FROM tábla

Példa:

    SELECT COUNT(*) AS számlálás FROM "elem"

Ha futtat egy ilyen függvényt, akkor csak a „Csoportosítás” függvény argumentumaként tud beszúrni további oszlopokat a lekérdezésbe.

Példák

A következő példába a lekérdezés két táblán fut végig: egy „Elem” tábla „Elemszám” mezővel és egy „Szállító” tábla „Szállító_neve” mezővel. Ezen felül mindkét tábla rendelkezik egy közös „Szállító_száma” mezővel.

A következő lépések szükségesek ahhoz, hogy olyan lekérdezést hozzon létre, amely tartalmazza az összes szállítót, aki több mint három cikket szállít:

1. Szúrja be a „Tétel” és „Szállítók” táblákat a lekérdezéstervbe.

2. Kapcsolja össze a két tábla „Szállító_száma” mezőjét, ha még nincs ilyen típusú kapcsolat.

3. Kattintson duplán az „Elem” tábla „Elemszám” mezőjére. Jelenítse meg a Függvény sort a helyi menü segítségével, és válassza a Darabszám (Count) függvényt.

4. Adja meg a >3 feltételt, és kapcsolja ki a Látható mezőt.

5. Kattintson duplán a „Szállítók” tábla „Szállító_neve” mezőjére, és válassza a Csoport függvényt.

6. Futtassa a lekérdezést.

Ha az „ár” (egy cikk egyedi ára) és a „Szállító_száma” (a cikk szállítójához tartozó) mező létezik az „Elem” táblában, akkor következő lekérdezéssel lekérdezheti az elem átlagos árát, amelyet a szállító biztosít:

1. Szúrja be az „Elem” táblát a lekérdezéstervbe.

2. Kattintson duplán az „Ár” és „Szállító_száma” mezőkre.

3. Engedélyezze a Függvény sort, és az „Ár” mezőből válassza ki az Average (átlag) függvényt.

4. Az „Average”-et (átlagot) az álnév sorában is megadhatja (idézőjelek nélkül).

5. Válassza a Csoportosítást a „Szállító_száma” mezőhöz.

6. Futtassa a lekérdezést.

A következő helyi menüparancsokat és szimbólumokat használhatja:

### Függvények

Megjeleníti vagy elrejti a függvényeket tartalmazó sort.

### Tábla neve

Megjeleníti vagy elrejti a tábla nevét tartalmazó sort.

### Álnév

Megjeleníti vagy elrejti az álnevet tartalmazó sort.

### Különböző értékek

Csak eltérő értékeket alkalmaz a lekérdezéshez. Olyan adatokat tartalmazó rekordokra érvényes, amelyek többször megjelennek a kiválasztott mezőkben. Ha a Különböző értékek parancs aktív, akkor csak egy rekordot lát a lekérdezésben (DISTINCT). Ellenkező esetben a lekérdezési feltételeknek megfelelő rekordokat látja (ALL).

Ha például a „Kovács” név többször jelenik meg a címadatbázisban, akkor kiválaszthatja a Különböző értékek parancsot annak megadásához, hogy a lekérdezés eredményében a „Kovács” név csak egyszer jelenjen meg.

Több mezőt tartalmazó lekérdezés esetén az összes mező értékei kombinációjának egyedinek kell lennie, így az eredmény kialakítható egy adott rekordból. Tegyük fel, hogy a „Kovács Szegeden” egyszer, a „Kovács Budapesten” kétszer szerepel a címjegyzékben. A Különböző értékek paranccsal a lekérdezés két mezőt használ, a „vezetéknév” és „város” mezőt, az eredményben visszaadja egyszer a „Kovács Szegeden” és egyszer a „Kovács Budapesten” értéket.

Az SQL-nyelvben ez a parancs a DISTINCT predikátumnak felel meg.

### Határ

Lehetővé teszi a lekérdezés által visszaadott rekordok számának maximalizálását.

Ha felvett egy Határ szerkezetet, akkor legfeljebb a megadott számú sort kap vissza. Ellenkező esetben a keresési feltételeknek megfelelő összes rekord megjelenik.

### Szűrőfeltételek kialakítása

Szűrőfeltételek kialakításakor különböző operátorok és parancsok állnak rendelkezésre A relációs operátorokon kívül SQL-specifikus parancsok is léteznek, amelyek lekérdezik az adatbázismezők tartalmát. Ha a parancsokat LibreOffice-szintaxisban használja, akkor a LibreOffice egy belső feldolgozóval automatikusan átalakítja ezeket a megfelelő SQL-szintaxisba. Az SQL-parancsokat közvetlenül is beírhatja és megkerülheti a belső feldolgozót. Az alábbi táblázatok áttekintést adnak az operátorokról és parancsokról:

Operátor | Jelentés | Feltétel kielégítve, ha ...
--- | --- | ---
= | egyenlő | ... a mező tartalma megegyezik a megadott kifejezéssel. Az = operátor nem jelenik meg a lekérdezésmezőkben. Ha operátor nélkül ad meg értéket, akkor az = operátor kerül automatikusan alkalmazásra.
<> | nem egyenlő | ... a mező tartalma nem egyezik meg a megadott kifejezéssel.
> | nagyobb mint | ... a mező tartalma nagyobb, mint a megadott kifejezés.
< | kisebb mint | ... a mező tartalma kisebb, mint a megadott kifejezés.
>= | nagyobb vagy egyenlő | ... a mező tartalma nagyobb vagy egyenlő, mint a megadott kifejezés.
<= | kisebb vagy egyenlő | ... a mező tartalma kisebb vagy egyenlő, mint a megadott kifejezés.

LibreOffice-parancs | SQL-parancs | Jelentés | Feltétel kielégítve, ha ...
--- | --- | --- | ---
IS EMPTY | IS NULL | null | .. a mező nem tartalmaz adatokat. Három lehetséges állapottal rendelkező Igen/Nem mezők esetén ez a parancs automatikusan lekérdezi a határozatlan állapotot (se nem Igen és se nem Nem érték).
IS NOT EMPTY | IS NOT NULL | nem üres | ... a mező nem üres, azaz adatokat tartalmaz.

LIKE

(*) helykitöltő bármennyi karaktert helyettesít

(?) helykitöltő pontosan egy karaktert helyettesít

LIKE

(%) helykitöltő bármennyi karaktert helyettesít

(_) helykitöltő pontosan egy karaktert helyettesít

eleme

... az adatmezőnek, amely tartalmazza a jelzett kifejezést. A (*) helykitöltő jelzi, hogy az x kifejezés előfordul-e a mező elején (x*), a végén (*x) vagy a mezőtartalmon belül (*x*). SQL-lekérdezésekben helykitöltőként használhat % SQL-karaktert vagy a jól ismert (*) fájlrendszer-helykitöltőt a LibreOffice-felületen.

A (*) vagy a (%) helykitöltő tetszőleges számú karakter helyett állhat. A kérdőjel (?) a LibreOffice-felületen vagy az aláhúzás (_) az SQL-lekérdezésekben pontosan egy karaktert ábrázol.

NOT LIKE | NOT LIKE | Nem eleme | ... a mező nem tartalmazza a megadott kifejezésre illeszkedő adatokat.
BETWEEN x AND y | BETWEEN x AND y | az [x,y] intervallumba esik | ... a mező olyan adatértéket tartalmaz, amely az x és y értékek közé esik.
NOT BETWEEN x AND y | NOT BETWEEN x AND y | Nem esik az [x,y] intervallumba | ... a mező olyan adatértéket tartalmaz, amely nem esik az x és y értékek közé.
IN (a; b; c...) Ne feledje, hogy a pontosvesszők elválasztó karakterként viselkednek minden értéklistában! | IN (a, b, c...) | tartalmazza a-t, b-t, c-t... | .. a mezőnév tartalmazza a megadott a, b, c... kifejezések egyikét. Tetszőleges számú kifejezés megadható, és a lekérdezés eredményét a logikai VAGY művelet határozza meg. Az a, b, c... kifejezések számok vagy betűk lehetnek
NOT IN (a; b; c...) | NOT IN (a, b, c...) | nem tartalmazza a-t, b-t, c-t... | ... a mező nem tartalmazza a megadott a, b, c... kifejezések egyikét sem.
= TRUE | = TRUE | az értéke Igaz | ... a mező Igaz értéket vesz fel.
= FALSE | = FALSE | a mező értéke Hamis | ... a meződ adatértéke hamisra van állítva.

### Példák

='Ms.' | a „Ms.” értéket tartalmazó mezőneveket adja vissza
<'2001-01-10' | a 2001. január 10. előtti dátumokat adja vissza.
LIKE 'sz?r' | a „szár” és „szúr” értékhez hasonló tartalommal rendelkező mezőneveket adja vissza.
LIKE 'S*' | olyan rekordokat ad vissza, amelyek tartalma például „Sun”.
BETWEEN 10 AND 20 | azokat a rekordokat adja vissza, amelyek mezőértéke 10 és 20 közé esik. (Az itt megadott mezők lehetnek szövegesek vagy numerikusak is).
IN (1; 3; 5; 7) | azokat a rekordokat adja vissza, amelyekben az 1, 3, 5 vagy 7 érték fordul elő. Ha a mezőnév tartalmaz egy cikkszámot, akkor például létrehozhat egy olyan lekérdezést, amely a megadott számú cikket adja vissza.
NOT IN ('Kovács') | a „Kovács”" karaktersorozatot nem tartalmazó mezőneveket adja vissza.

Like Escape-szekvencia: {escape 'kilépési karakter'}

Példa:

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

A példa megadja az összes bejegyzést, amelyben az elem neve az „Az *” karakterekkel kezdődik. Ez azt jelenti, hogy olyan karaktereket is kereshet, amelyek ellenkező esetben helykitöltőként kerülnének megjelenítésre, mint például a *, ?, _ , % vagy a pont.

Outer Join Escape-szekvencia: {oj outer-join}

Példa:

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

### Szövegmezők lekérdezése

Szövegmező tartalmának lekérdezéséhez a kifejezéseket aposztrófok közé kell tenni. A nagybetűk és kisbetűk közötti különbségtétel a használt adatbázistól függ. A LIKE definíció szerint megkülönbözteti a kis- és nagybetűket (de néhány adatbázis nem értelmezi ezt szigorúan).

### Dátummezők lekérdezése

A Dátummezők #Dátum#-ként kerülnek ábrázolásra, hogy tisztán dátumként kerüljenek azonosításra. A feltételekben használt dátum, idő, és dátum/idő állandók (literálok) lehetnek SQL Escape szintaxis típusúak vagy az alapértelmezett SQL2 típusúak.

Dátum típusú elem | SQL Escape szintaxis #1 - elavult lehet | SQL Escape szintaxis #2 | SQL2 szintaxis
--- | --- | --- | ---
Dátum | {D'YYYY-MM-DD'} | {d 'YYYY-MM-DD'} | 'YYYY-MM-DD'
Idő | {D'HH:MM:SS'} | {t 'HH:MI:SS[.SS]'} | 'HH:MI:SS[.SS]'
Dátum és idő | {D'YYYY-MM-DD HH:MM:SS'} | {ts 'YYYY-MM-DD HH:MI:SS[.SS]'} | 'YYYY-MM-DD HH:MI:SS[.SS]'

Példa:

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

Példa:

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

Minden dátumkifejezést (dátumliterált) egyszeres idézőjelek közé kell tenni. (Nézze meg az adott adatbázis és a használt illesztőprogram referenciáját további részletekért.)

### Igen/Nem típusú mezők lekérdezése

Igen/Nem típusú mezők lekérdezésénél használja a következő szintaxist dBASE-táblák esetén:

Állapot | Lekérdezési feltétel | Példa
--- | --- | ---
Igen | dBASE-táblák esetén: nem egyenlő bármely adott értékkel | =1 visszaadja az összes rekordot, amelyben az Igen/Nem mező állapota „Igen” vagy „Be” (feketével kijelölve),
Nem | . | =0 visszaadja az összes rekordot, amelyek Igen/Nem mezője „Nem” vagy „Ki” állapotban van (nincs kijelölés).
Null | IS NULL | IS NULL azon rekordokat adja vissza, amelyeknél az Igen/Nem mező állapota sem nem Igen, sem nem Nem (szürkével kiválasztva).

A szintaxis a használt adatbázistól függ. Azt se feledje, hogy az Igen/Nem mezők különbözően adhatók meg (csak 2 állapottal 3 helyett).

### Paraméteres lekérdezések

A paraméteres lekérdezések lehetővé teszik az értékek futásidejű megadását. Ezek az értékek a megjelenítendő rekordok kiválasztására szolgáló feltételeken belül kerülnek felhasználásra. Minden ilyen értékhez tartozik egy paraméternév, amely a felhasználó megkérdezésére kerül felhasználásra a lekérdezés futtatásakor.

A paraméterneveket pontosvessző előzi meg a lekérdezés Tervező és SQL nézeteiben is. Ez mindenütt használható, ahol érték jelenhet meg. Ha ugyanannak az értéknek többször is meg kell jelennie a lekérdezésben, akkor ugyanaz a paraméternév kerül felhasználásra.

A legegyszerűbb esetben, amikor a felhasználó megad egy értéket, amelynek az egyenlősége vizsgálatra kerül, akkor a paraméternevet a megelőző pontosvesszővel együtt kell bevinni a Feltételek sorba. Az SQL módban ezt így kell megadni: WHERE "mező" = :paraméternév

A paraméternek nem tartalmazhatják a következő karaktereket: <szóköz>`!"$%^*()+={}[]@'~#<>?/,. Nem lehetnek azonosak mezőnevekkel vagy SQL foglalt szavakkal. Azonosak lehetnek álnevekkel.

Hasznos módszer rekordok egy szövegmező tartalma alapján való kiválasztására egy rejtett oszlop hozzáadása a következő feltétellel: "LIKE '%' || :mező_része || '%'". Ez a pontosan illeszkedő rekordokat fogja kiválasztani. Ha kis- és nagybetűkre érzéketlen teszt szükséges, akkor megoldás lehet a LOWER (mezőnév) használata a mezőként és LIKE LOWER ( '%' || :mező_része|| '%' ) használata feltételként. Vegye észre, hogy a szóközök a feltételben fontosak, ha kimaradnak, az SQL elemző a teljes feltételt az illesztendő karakterláncként értelmezi. SQL módban ezt így kell beírni: LOWER ( "mezőnév" ) LIKE LOWER ( '%' || :mező_része || '%' ).

A paraméteres lekérdezések használhatók adatforrásként alűrlapokhoz, hogy a felhasználó korlátozhassa a megjelenített rekordokat.

### Paraméter bevitele

A Paraméter bevitele ablak megkéri a felhasználót a paraméterértékek bevitelére. Írjon be egy értéket minden lekérdezésparaméterhez és erősítse meg az OK gomb vagy az Enter megnyomásával.

A felhasználó által bevitt értékek tetszőleges karakterekből állhatnak, amelyeket a vonatkozó feltételhez az SQL engedélyez, ez függhet a használt adatbázisrendszertől.

A felhasználó használhatja az „%” (tetszőleges karakterlánc) vagy „_” (tetszőleges karakter) SQL helyettesítő karaktereket az érték részeként rekordok lekérdezéséhez összetettebb feltételekkel.

## SQL-mód

Az SQL a „Structured Query Language (strukturált lekérdezőnyelv)” rövidítése, és utasításokat tartalmaz relációs adatbázisok frissítéséhez és adminisztrációjához.

A LibreOffice-ban a legtöbb lekérdezéshez nincs szükség SQL-ismeretekre, mert nem kell beírnia SQL-kódot. Ha a lekérdezéstervezőben hoz létre lekérdezést, akkor a LibreOffice automatikusan átalakítja az utasításokat a megfelelő SQL szintaxisra. Ha a Tervezőnézet be/ki gomb segítségével átvált SQL nézetre, akkor láthatja az előzőleg létrehozott lekérdezéshez tartozó SQL parancsokat.

A lekérdezést közvetlenül SQL-kódban is megadhatja. Jegyezze meg viszont, hogy a speciális szintaxis a használt adatbázisrendszertől függ.

Ha kézzel írja be SQL-kódot, akkor olyan SQL-specifikus lekérdezéseket is készíthet, amelyeket a Lekérdezéstervező grafikus felülete nem támogat. Ezeket a lekérdezéseket natív SQL módban kell végrehajtani.

Ha rákattint az SQL parancs közvetlen futtatása ikonra az SQL nézetben, akkor létrehozhat egy olyan lekérdezést, amelyet nem a LibreOffice hajt végre, hanem közvetlenül az adatbázis-motornak kerül elküldésre.

Támogasson minket!