Moduł
Spis treści
Indeks 🔎︎

# Projekt kwerendy

W widoku projektu kwerendy można utworzyć i dokonać edycji kwerendy bazy danych.

Aby wykonać tę operację...

Kliknij ikonę Kwerendy w oknie pliku bazy danych, a następnie wybierz Edycja - Edycja

W większości baz danych filtrowanie lub sortowanie tabel na potrzeby wyświetlenia rekordów w komputerze użytkownika jest realizowane za pomocą kwerend. Widoki działają tak jak kwerendy, ale są realizowane po stronie serwera. Jeśli baza danych została zaimplementowana na serwerze obsługującym widoki, za ich pomocą można filtrować rekordy na serwerze, co pozwala skrócić czas wyświetlania danych.

Niektóre bazy danych obsługują także tworzenie nowego widoku tabeli. Wybranie polecenia Utwórz widok na zakładce Tabele dokumentu bazy danych powoduje otworzenie okna Projekt widoku podobnego do opisanego tutaj okna Projekt kwerendy.

Układ okna Projekt kwerendy jest zapisywany wraz z utworzoną kwerendą. Nie można go jednak zapisać razem z utworzonym widokiem.

## Widok projektu

Aby utworzyć kwerendę, kliknij ikonę Kwerendy w dokumencie bazy danych, a następnie polecenie Utwórz kwerendę w widoku projektu.

Dolny panel widoku projektu to miejsce, w którym definiujesz kwerendę. Aby zdefiniować kwerendę, określ nazwy pól bazy danych, które mają być uwzględnione, oraz kryteria wyświetlania pól. Aby zmienić układ kolumn w dolnym panelu Widoku projektu, przeciągnij nagłówek kolumny do nowej lokalizacji lub zaznacz kolumnę i naciśnij kombinację klawiszy Command Ctrl
+strzałka.

W górnej części widoku projektu są widoczne ikony pasków Projekt kwerendy oraz Projekt.

Aby przetestować kwerendę, kliknij dwukrotnie jej nazwę w dokumencie bazy danych. Wynik kwerendy zostaje wyświetlony w tabeli podobnej do widoku źródła danych. Uwaga: tabela jest wyświetlana tylko tymczasowo.

### Klawisze w widoku projektu kwerendy

Klawisz | Funkcja
F4 | Podgląd
F5 | Wykonuje kwerendę
F7 | Dodaje tabelę lub kwerendę

## Przeglądaj

Po otwarciu projektu zapytania po raz pierwszy pojawi się okno dialogowe, w którym należy najpierw wybrać tabelę lub zapytanie, które będzie podstawą dla nowego zapytania.

Aby dodać pole do kwerendy, kliknij je dwukrotnie. Relacje można definiować metodą "przeciągnij i upuść".

Podczas projektowania kwerendy nie można modyfikować wybranych tabel.

### Usuń tabele

Aby usunąć tabele z widoku projektu, kliknij górną krawędź okna tabeli. Zostanie wyświetlone menu kontekstowe. Polecenie Usuń usuwa tabelę z widoku projektu. Można również nacisnąć klawisz Delete.

### Przenoszenie i zmiana wielkości tabeli

Rozmiar tabeli można zmienić; tabele można także układać odpowiednio do wymagań. Aby przenieść tabelę, przeciągnij górną jej krawędź w żądane miejsce. Aby zwiększyć lub zmniejszyć rozmiar w jakim jest wyświetlana tabela, umieść kursor myszy na krawędzi lub rogu tabeli i przeciągnij do żądanego rozmiaru.

## Relacje między tabelami

Jeśli między nazwą pola w jednej tabeli a nazwą pola w drugiej występują relacje danych, można je wykorzystać w kwerendzie.

Na przykład jeśli dysponujemy arkuszem artykułów zindeksowanych według numeru artykułu oraz arkuszem klientów, w którym zapisywane są wszystkie artykuły zamawiane przez danego klienta przez rejestrowanie odpowiednich numerów artykułów, między dwoma polami danych "numer artykułu" istnieje relacja. Aby utworzyć kwerendę zwracającą wszystkie artykuły zamówione przez klienta, konieczne jest pobranie danych z dwóch arkuszy kalkulacyjnych. W tym celu należy zgłosić pakietowi LibreOffice fakt istnienia relacji między danymi tych dwóch arkuszy.

W tym celu należy kliknąć nazwę pola w tabeli (np. nazwę pola "Nr-artykułu" w tabeli Klienci), przytrzymać przycisk myszy i przeciągnąć nazwę pola do nazwy pola drugiej tabeli (np. "Nr-artykułu" w tabeli Artykuły). Po zwolnieniu przycisku myszy między dwoma polami dwóch okien pojawia się linia symbolizująca połączenie. W wynikowej kwerendzie SQL wprowadzany jest odpowiedni warunek określający, że zawartość obu tych pól musi być identyczna.

Tworzenie kwerend opartych na kilku powiązanych arkuszach jest możliwe tylko wtedy, gdy pakiet LibreOffice pełni rolę interfejsu relacyjnej bazy danych.

W ramach kwerendy nie można uzyskać dostępu do tabel innej bazy danych. Kwerendy obejmujące wiele tabel można tworzyć tylko w ramach jednej bazy danych.

### Określanie typu łącza

Dwukrotne kliknięcie linii łączącej dwa powiązane pola lub wywołanie polecenia menu Wstaw - Nowa relacja umożliwia określenie typu łącza w oknie dialogowym Relacje.

Ewentualnie naciskaj klawisz Tab aż zostanie zaznaczony wektor połączenia (zaznaczony wektor jest powiększony); a następnie naciśnij kombinację klawiszy Shift + F10 i z wyświetlonego menu kontekstowego wybierz polecenie Edycja.

### Usuwanie relacji

Aby usunąć relację między dwiema tabelami, kliknij linię połączenia i naciśnij klawisz Delete.

Ewentualnie usuń odpowiednie wpisy w części Złączone pola okna dialogowego Relacje. Można także naciskać klawisz aż wektor łączący zostanie podświetlony, a następnie nacisnąć kombinację klawiszy Shift + F10 i z menu kontekstowego wybrać polecenie Usuń.

## Definiuj kwerendę

Wybierz warunki definiujące kwerendę. W każdej kolumnie tabeli projektowania można wpisać pole danych kwerendy. Warunki określone w jednym wierszu zostają powiązane operatorem logicznym "I" (AND).

### Określ nazwę pola

Najpierw wybierz w tabelach wszystkie nazwy pól, które chcesz dodać do kwerendy. Można użyć metody "przeciągnij i upuść" lub dwukrotnie kliknąć nazwę pola w oknie tabeli. Metoda "przeciągnij i upuść" polega na przeciągnięciu myszą nazwy pola z okna tabeli do dolnej części projektu kwerendy. Można wtedy określić, do której kolumny ma zostać dodane pole. Nazwę pola można także wybrać przez dwukrotne kliknięcie. Nazwa ta zostaje wtedy dodana do następnej wolnej kolumny.

### Usuwanie nazw pól

Aby usunąć nazwę pola z kwerendy, kliknij nagłówek kolumny i wybierz polecenie Usuń z menu kontekstowego.

### Zapisz kwerendę

Aby zapisać kwerendę, kliknij ikonę Zapisz na pasku standardowym. Zostanie wyświetlone okno dialogowe, w którym należy wpisać nazwę kwerendy. Jeśli baza danych obsługuje schematy, można także wprowadzić schemat.

#### Schemat

Określa nazwę schematu przypisanego do kwerendy lub widoku tabeli.

#### Nazwa kwerendy lub nazwa widoku tabeli

Określa nazwę kwerendy lub widoku tabeli.

### Filtrowanie danych

Aby przefiltrować dane na potrzeby kwerendy, określ preferencje w dolnej części Widoku projektu. Dostępne są następujące pozycje:

#### Pole

Określa nazwę pola danych, do którego odwołuje się kwerenda. Wszystkie ustawienia w dalszych pozycjach dotyczą wybranego tutaj pola. Uaktywnienie komórki kliknięciem myszy powoduje wyświetlenie przycisku ze strzałką, za pomocą którego można wybrać żądane pole. Opcja "Nazwa tabeli.*" powoduje wybranie wszystkich pól danych; kryteria dotyczą wtedy wszystkich pól.

#### Alias

Określa alias. Ten alias jest wyświetlany w kwerendzie zamiast nazwy pola Dzięki tej opcji możliwe jest stosowanie etykiet kolumn określonych przez użytkownika. Na przykład jeśli pole danych nosi nazwę NrCz, a kwerenda byłaby czytelniejsza z nazwą Numer_części, w polu aliasu należy wpisać ciąg Numer_części.

W instrukcji SQL aliasy definiowane są w następujący sposób:

SELECT kolumna AS alias FROM tabela.

Na przykład:

SELECT "NrCz" AS "NumerCzesci" FROM "Czesci"

#### Tabela

W tym miejscu jest wyświetlana tabela bazy danych odpowiadająca wybranemu polu danych. Uaktywnienie komórki kliknięciem myszy powoduje wyświetlenie strzałki, za pomocą której można wybrać inną tabelę bieżącej kwerendy.

#### Sortuj

Po kliknięciu komórki można wybrać opcję sortowania: rosnąco, malejąco i nieposortowane. Pola tekstowe są sortowane alfabetycznie (A-Z), a pola liczbowe - numerycznie (0-9).

#### Widoczne

Jeśli pole danych ma właściwość Widoczne, jest ono widoczne w kwerendzie . Jeśli pole danych służy tylko do sformułowania warunku, nie musi być widoczne.

#### Kryteria

Określa kryteria, według których jest filtrowana zawartość pola danych.

#### lub

W tym miejscu można określić po jednym dodatkowym warunku filtrowania w każdej linijce. Poszczególne kryteria znajdujące się w jednej kolumnie są łączone operatorem logicznym "LUB" (OR).

Można także skorzystać z menu kontekstowego nagłówków linijek w dolnej części projektu kwerendy. Pozwala to wstawić kolejną linijkę na potrzeby następujących funkcji:

### Funkcje

Wybór dostępnych funkcji zależy od wykorzystywanej bazy danych.

W przypadku pracy z bazą danych HSQL, pole listy w wierszu Funkcja zawiera następujące opcje:

Opcja | SQL | Efekt
Brak funkcji |  | Nie jest wykonywana żadna funkcja.
Średnia | AVG | Oblicza średnią arytmetyczną dla pola.
Ilość | COUNT | Określa liczbę rekordów w tabeli. Puste pola mogą być zliczane (a) lub nie (b). a) COUNT(*): Wstawienie gwiazdki jako argumentu powoduje, że zliczane są wszystkie rekordy tabeli. b) COUNT(kolumna): Wstawienie nazwy pola jako argumentu powoduje zliczenie tylko tych pól, dla których pole zawiera wartość. Pola z wartością NULL (puste) nie są zliczane.
Maksimum | MAX | Określa najwyższą wartość pola.
Minimum | MIN | Określa najniższą wartość pola.
Suma | SUM | Oblicza sumę wartości powiązanych pól.
Grupa | GROUP BY | Grupuje dane kwerendy według pola o podanej nazwie. Funkcje są wykonywane według określonych grup. W języku SQL ta opcja odpowiada instrukcji GROUP BY. Jeśli dodano kryterium, zostaje zastosowana instrukcja SQL HAVING.

Wywołania funkcji można wprowadzać także bezpośrednio w instrukcji SQL. Należy wtedy zastosować następującą składnię:

SELECT FUNKCJA(kolumna) FROM tabela.

Na przykład aby wywołać w instrukcji SQL funkcję obliczającą sumę, należy wprowadzić następujący zapis:

SELECT SUM("Cena") FROM "Artykuł".

Powyższe funkcje, z wyjątkiem funkcji Grupuj, nazywane są funkcjami agregującymi. Służą one do obliczania danych w celu tworzenia podsumowań wyników. Możliwe jest także korzystanie z dodatkowych funkcji, niewymienionych w polu listy. Zależą one od używanego systemu bazy danych i bieżącego stanu sterownika bazowego.

Aby korzystać z funkcji niewymienionych w polu listy, konieczne jest wprowadzenie ich w Polu.

Wywołaniom funkcji można także przypisywać aliasy. Jeśli kwerenda ma nie być wyświetlana w nagłówku kolumny, wprowadź żądaną nazwę w polu Alias.

Odpowiednia funkcja w instrukcji SQL ma postać:

SELECT FUNKCJA() AS alias FROM tabela

Przykład:

SELECT COUNT(*) AS ilość FROM "Artykuł"

Po uruchomieniu tej funkcji do kwerendy nie można wstawiać żadnych innych kolumn niż te pobrane funkcją "Grupuj".

Przykłady

W następującym przykładzie kwerenda obejmuje dwie tabele: tabelę "Artykuł" z polem "Nr_artykułu" oraz tabelę "Dostawcy" z polem "Nazwa_dostawcy". Ponadto obie tabele mają pola o wspólnej nazwie "Nr_dostawcy".

Aby utworzyć kwerendę wyświetlającą wszystkich dostawców, którzy dostarczyli więcej niż trzy artykuły, należy wykonać następujące kroki.

1. Wstaw tabele "Artykuł" i "Dostawcy" do projektu kwerendy.

2. Powiąż pola "Nr_dostawcy" obu tabel, o ile wcześniej nie zdefiniowano takiej relacji.

3. Kliknij dwukrotnie pole "Nr_artykułu" tabeli "Artykuł". Wyświetl linijkę Funkcja, wybierając funkcję Ilość z menu kontekstowego.

4. Jako kryterium wprowadź wartość >3 i usuń zaznaczenie pola Widoczne.

5. W tabeli "Dostawcy" kliknij dwukrotnie pole "Nazwa_dostawcy" i wybierz funkcję Grupuj.

6. Uruchom kwerendę.

Jeśli w tabeli "Artykuł" istnieją pola "cena" (cena danego artykułu) oraz "Nr_dostawcy" (dostawca artykułu), następująca kwerenda umożliwia pobranie średniej ceny artykułu dostawcy:

1. Wstaw tabelę "Artykuł" do projektu kwerendy.

2. Kliknij dwukrotnie pola "Cena" i "Nr_dostawcy".

3. Włącz linijkę Funkcja i w polu "Cena" wybierz funkcję Średnia.

4. Można również wpisać alias "Średnia" (bez cudzysłowu).

5. Dla pola "Nr_dostawcy" wybierz opcję Grupuj.

6. Uruchom kwerendę.

Dostępne są następujące polecenia menu kontekstowego i symbole:

### Funkcje

Pokazuje lub ukrywa linijkę wyboru funkcji.

### Nazwa tabeli

Pokazuje lub ukrywa linijkę nazwy tabeli.

### Nazwa aliasu

Pokazuje lub ukrywa linijkę nazwy aliasu.

### Wartości bez powtórzeń

Stosuje w kwerendzie tylko wartości bez powtórzeń. Dotyczy to rekordów zawierających dane występujące wielokrotnie w wybranych polach. Uaktywnienie opcji Wartości bez powtórzeń powoduje, że kwerenda zwróci tylko jeden rekord (DISTINCT). W przeciwnym razie wyświetlane są wszystkie rekordy spełniające kryterium kwerendy (ALL).

Na przykład jeśli w bazie adresowej wielokrotnie występuje nazwisko "Kowalski", zaznaczenie opcji Wartości bez powtórzeń powoduje, że kwerenda zwróci tylko jedno wystąpienie tego nazwiska.

W przypadku kwerend obejmujących wiele pól uzyskanie wyniku na podstawie specyficznego rekordu wymaga, aby kombinacja wartości wszystkich pól była unikatowa. Na przykład w pewnej bazie adresowej raz występuje "Kowalski z Warszawy", a dwa razy "Kowalski z Krakowa". Wybranie opcji Wartości bez powtórzeń powoduje, że na podstawie pól "nazwisko" i "miasto" zwrócone zostanie jeden rekord "Kowalski z Warszawy" i jeden "Kowalski z Krakowa".

Odpowiednikiem tej opcji w języku SQL jest właściwość DISTINCT.

### Limit

Umożliwia maksymalizowanie liczby rekordów, które kwerenda zwraca.

Jeśli jest dodany Limit, otrzymasz tyle wierszy ile zadeklarowałeś. W przeciwnym przypadku, otrzymasz wszystkie rekordy spełniające kryteria kwerendy.

### Formułowanie warunków filtrowania

Podczas formułowania warunków filtrów można korzystać z różnych operatorów i poleceń. Poza operatorami relacyjnymi dostępne są polecenia języka SQL służące do odpytywania zawartości pól bazy danych. W przypadku użycia tych poleceń w składni LibreOffice pakiet LibreOffice automatycznie konwertuje je na odpowiedniki SQL. Można również bezpośrednio wprowadzać instrukcje SQL. W następującej tabeli przedstawiono zestawienie tych operatorów i poleceń:

Operator | Znaczenie | Warunek jest spełniony, jeśli...
= | równy | ... zawartość pola jest identyczna jak w podanym wyrażeniu. Operator = nie jest wyświetlany w polach kwerendy. Wprowadzenie wartości bez operatora powoduje automatyczne wstawienie operatora =.
<> | różne | ... zawartość pola nie jest identyczna jak w podanym wyrażeniu.
> | większe niż | ... zawartość pola jest większa niż w podanym wyrażeniu.
< | mniejsze niż | ... zawartość pola jest mniejsza niż w podanym wyrażeniu.
>= | większe niż lub równe | ... zawartość pola jest większa lub równa podanemu wyrażeniu.
<= | mniejsze niż lub równe | ... zawartość pola jest mniejsza lub równa podanemu wyrażeniu.

Polecenie LibreOffice | Polecenie SQL | Znaczenie | Warunek jest spełniony, jeśli...
IS EMPTY | IS NULL | jest puste | ... Wartość pola jest pusta. W przypadku pól Tak / Nie z trzema stanami, to polecenie automatycznie wysyła zapytanie do nieokreślonego stanu (ani Tak, ani Nie).
IS NOT EMPTY | IS NOT NULL | nie jest puste | ... nazwa pola nie jest pusta.
LIKE (symbol zastępczy * oznaczający dowolną liczbę znaków symbol zastępczy ? oznaczający dokładnie jeden znak) | LIKE (symbol zastępczy % oznaczający dowolną liczbę znaków symbol zastępczy _ oznaczający dokładnie jeden znak) | należy do | ... pole danych zawiera wskazane wyrażenie. Symbol zastępczy (*) określa, czy wyrażenie x występuje na początku (x*), na końcu (*x), czy w środku (*x*) zawartości pola. W interfejsie LibreOffice w kwerendach SQL jako symbole zastępcze można stosować znak SQL % lub znany z systemu plików symbol (*). Symbol zastępczy * lub % oznacza dowolną liczbę znaków. Znak zapytania (?) w interfejsie LibreOffice lub symbol podkreślenia (_) w kwerendach SQL oznacza dokładnie jeden znak.
NOT LIKE | NOT LIKE | nie należy do | ... nazwa pola nie zawiera pewnego określonego wyrażenia.
BETWEEN x AND y | BETWEEN x AND y | mieści się w przedziale [x,y] | ... nazwa pola zawiera wartość mieszczącą się między wartościami x i y.
NOT BETWEEN x AND y | NOT BETWEEN x AND y | Nie mieści się w przedziale [x,y] | ... nazwa pola zawiera wartość, która nie mieści się między wartościami x i y.
IN (a; b; c...) Średniki pełnią rolę separatorów we wszystkich listach wartości | IN (a, b, c...) | zawiera a, b, c... | ... nazwa pola zawiera jedno z określonych wyrażeń a, b, c, ... Można określić dowolną liczbę wyrażeń, a wynik kwerendy jest uzyskiwany przez połączenie tych wyrażeń operatorem logicznym LUB. Wyrażenia a, b, c... mogą być liczbami lub znakami
NOT IN (a; b; c...) | NOT IN (a, b, c...) | nie zawiera a, b, c... | ... nazwa pola nie zawiera jednego z określonych wyrażeń a, b, c,...
= TRUE | = TRUE | ma wartość Prawda | ... nazwa pola ma wartość Prawda.
= FALSE | = FALSE | ma wartość Fałsz | ... nazwa pola ma wartość Fałsz.

### Przykłady

='Pani' | zwraca nazwy pól zawierające łańcuch "Pani"
<'2001-01-10' | zwraca daty, które wystąpiły przed 10 stycznia 2001
LIKE 'g?ma' | zwraca nazwy pól zawierające łańcuchy takie jak "gama" i "guma".
LIKE 'T*' | zwraca pola danych o zawartości takiej jak "Tom".
BETWEEN 10 AND 20 | zwraca nazwy pól o zawartości mieszczącej się w przedziale 10-20 (mogą to być zarówno pola tekstowe, jak i numeryczne).
IN (1; 3; 5; 7) | zwraca nazwy pól zawierające wartości 1, 3, 5, 7. Jeśli nazwa pola zawiera np. numer artykułu, można utworzyć kwerendę zwracającą artykuł o określonym numerze.
NOT IN ('Kowalski') | zwraca nazwy pól, które nie zawierają łańcucha "Kowalski".

Sekwencja anulowania Like: {escape 'znak-anulowania'}

Przykład: select * from Artykul where NazwaArtykulu like 'Zestaw *%' {escape '*'}

W wyniku tej kwerendy przedstawione zostaną wszystkie artykuły o nazwach rozpoczynających się od słowa 'Zestaw *'. To znaczy, że można poszukiwać także znaków, które w innym kontekście byłyby zinterpretowane jako symbole zastępcze, np. *, ?, _, % lub kropka.

Sekwencja anulowania Outer Join: {oj złączenie-zewnętrzne}

Przykład: select Artykul.* from {oj element LEFT OUTER JOIN zamowienia ON zamowienie.nr=zamowienia.ANR}

### Kwerendy na polach tekstowych

Aby kwerenda dotyczyła zawartości pola tekstowego, wyrażenie należy umieścić między apostrofami. Rozróżnianie wielkości liter zależy od wykorzystywanej bazy danych. Wyrażenie LIKE z definicji rozróżnia wielkie i małe litery (w niektórych bazach danych ta zasada nie jest ściśle przestrzegana).

### Kwerendy na polach daty

Pola dat są oznaczane jako #Date#, co pozwala łatwo zidentyfikować je jako daty. Data, godzina i stałe data/godzina (literały) stosowane w warunkach mogą mieć zarówno składnię typu SQL Escape lub domyślną SQL2.

Typ elementu daty | Składnia SQL Escape #1 - mogą być nieaktualne | Składnia SQL Escape #2 | Składnia SQL2
Data | {D'RRRR-MM-DD'} | {d 'RRRR-MM-DD'} | 'YYYY-MM-DD'
Godzina | {D'GG:MM:SS'} | {t 'HH:MI:SS[.SS]'} | 'HH:MI:SS[.SS]'
Data i godzina | {D'RRRR-MM-DD GG:MM:SS'} | {ts 'YYYY-MM-DD HH:MI:SS[.SS]'} | 'YYYY-MM-DD HH:MI:SS[.SS]'

Przykład: select {d '1999-12-31'} from historia.swiata

Przykład: select * from mytable where years='1999-12-31'

Wszystkie wyrażenia dat (literały) muszą być ujęte w pojedyncze cudzysłowy. (Zapoznaj się z odwołaniami i łącznikami do konkretnej bazy danych, której używasz po więcej szczegółów.)

### Kwerendy na polach logicznych (Tak/Nie)

W tabelach dBASE kwerendy na polach Tak/Nie wymagają zastosowania następującej składni:

Stan | Kryterium kwerendy | Przykład
Tak | tabele dBASE: różne od każdej z podanych wartości | =1 zwraca wszystkie rekordy, w których pole Tak/Nie ma stan "Tak" lub "Włączone" (zaznaczone czarnym kolorem),
Nie | . | =0 zwraca wszystkie rekordy, w których pole Tak/Nie ma stan "Nie" lub "Wyłączone" (niezaznaczone).
Puste | IS NULL | IS NULL zwraca wszystkie rekordy, w których pole Tak/Nie nie ma stanu "Tak" ani "Nie" (zaznaczone szarym kolorem).

Składnia zależy od wykorzystywanego systemu bazy danych. Należy pamiętać, że pola Tak/Nie mogą być także zdefiniowane w inny sposób (dwa stany zamiast trzech).

### Kwerendy parametryczne

Kwerendy parametryczne pozwalają użytkownikowi wprowadzić wartości w czasie wykonywania. Wartości te są stosowane w ramach kryteriów wyboru rekordów do wyświetlenia. Każda taka wartość ma nazwę parametru skojarzonego z nim, która jest używana do monitowania użytkownika, gdy zapytanie jest uruchomione.

Nazwy parametrów są poprzedzone dwukropkiem w obu widokach zapytania, w widoku projektu oraz w widoku SQL. Mogą być stosowany wszędzie tam, gdzie może pojawić się wartość. Jeśli ta sama wartość ma pojawić się więcej niż jeden raz w zapytaniu, używana jest ta sama nazwa parametru.

W najprostszym przypadku, gdy użytkownik wprowadza wartość, która jest dopasowana do równości, w wiersz kryterium wprowadzona jest nazwa parametru z poprzedzającym ją dwukropkiem. W trybie SQL wygląda to następująco: WHERE "Pole" =: Nazwa_parametru

Nazwy parametrów nie mogą zawierać żadnego z następujących znaków: <space>`!"$%^*()+={}[]@'~#<>?/,. Nie mogą nazywać się tak samo jak nazwy pól lub jak słowa zastrzeżone dla składni SQL. Mogą mieć nazwy takie same jak aliasy.

Użyteczna konstrukcja wyboru rekordów w oparciu o części zawartości pola tekstowego jest dodanie ukrytych kolumn wraz z "LIKE '%' || :Część_pola || '%'" jako kryterium. Pozwoli to wybrać rekordy z dokładnym dopasowaniem. Jeśli wymagany jest test wielkości liter, rozwiązaniem jest użycie LOWER (Nazwa_Pola) jako pola i LIKE LOWER ( '%' || :Część_pola || '%' ) jako kryterium. Należy pamiętać, że odstępy w kryterium są bardzo ważne; jeśli zostaną pominięte, parser SQL interpretuje całe kryterium jako ciąg do dopasowania. W trybie SQL wygląda to następująco: LOWER ( "Nazwa_Pola" ) LIKE LOWER ( '%' || :Część_pola || '%' ).

Kwerendy parametryczne mogą służyć jako źródło danych dla podformularzy, aby pozwolić użytkownikowi ograniczyć rekordy wyświetlania.

### Wprowadzenie parametru

Okno dialogowe Parametr wejścia pyta użytkownika o wprowadzenie wartości parametrów. Wprowadź wartość dla każdego parametru zapytania i potwierdzić wybór, klikając przycisk OK lub naciskając Enter.

Wartości wprowadzone przez użytkownika mogą składać się z dowolnych znaków dopuszczalnych dla SQL dla danego kryterium; może to zależeć od bazowego systemu bazy danych.

Użytkownik może korzystać ze znaków wieloznacznych SQL "%" (ciąg losowy) lub "_" (losowy, pojedynczy znak) jako część wartości do pobierania rekordów z bardziej złożonych kryteriów.

## Tryb SQL

Skrót SQL (ang. Structured Query Language) oznacza strukturalny język zapytań. SQL jest zbiorem instrukcji służących do modyfikowania zawartości i administrowania relacyjnymi bazami danych.

Do utworzenia większości kwerend w programie LibreOffice nie jest wymagana znajomość języka SQL, ponieważ nie trzeba bezpośrednio wprowadzać instrukcji tego języka. W przypadku utworzenia kwerendy w projekcie kwerendy LibreOffice automatycznie konwertuje ją na odpowiedni zapis SQL. Przejście do widoku SQL przez naciśnięcie przycisku Włącz/Wyłącz widok projektu powoduje wyświetlenie utworzonych wcześniej instrukcji SQL.

Kwerendę można także napisać bezpośrednio w kodzie SQL. Należy jednak pamiętać, że może być wymagane zastosowanie specjalnej składni zależnej od wykorzystywanego systemu bazy danych.

Ręcznie można wprowadzać kwerendy SQL, których nie da się utworzyć za pomocą graficznego interfejsu Projektu kwerendy. Te kwerendy muszą być wykonywane w natywnym trybie SQL.

Kliknięcie ikony Wykonaj bezpośrednio polecenie SQL w trybie widoku SQL umożliwia sformułowanie kwerendy, która nie jest przetwarzana przez pakiet LibreOffice.