Modül
İçerikler
Dizin 🔎︎

# Sorgu Tasarımı

Sorgu Tasarım Görünümü bir veritabanı sorgusu oluşturmanızı ve düzenlemenizi sağlar.

Bu komuta erişmek...

Bir veritabanı dosyası penceresinde, Sorgular simgesine tıklayın, sonra Düzenle - Düzenle menüsünü seçin

Çoğu veritabanı, bilgisayarınızdaki kayıtları süzmek ya da sıralamak için sorguları kullanır. Görünüm aynı işlevi sunucu tarafında gerçekleştirmektedir. Veritabanınız Görünümü destekleyen bir sunucuda ise, kayıtlarınızı süzerken, sonuçları görüntüleme sürenizi kısaltmak için Görünümü kullanabilirsiniz.

Veritabanı belgesinin Tablolar sekme sayfasından Görünüm Oluştur seçildiğinde, burada bahsedilen Sorgu Tasarımı penceresine benzeyen Tasarımı Gör penceresini görürsünüz.

Sorgu Tasarım sayfa düzeni oluşturulan sorgu ile depolanır, fakat oluşturulan bir görünüm ile depolanamaz.

## Tasarım Görünümü

Bir veritabanı sorgusu oluşturmak için, bir veritabanı belgesi içindeki Sorgular simgesine tıklayın, ve sonra Tasarım Görünümünde Sorgu Oluştur'a tıklayın.

Tasarım görünümünün alt bölmesi sorguyu tanımladığınız kısımıdır. Bir sorgu tanımlamak için, içerilecek veritabanı alan adlarını ve alanları göstermek için kıstası belirtin. Tasarım Görünümün alt bölgesinde sütunları yeniden sıralamak için, sütun başlığını yeni bir yere sürükleyin veya sütunu seçin ve CommandCtrl
+ok tuşuna basın.

Sorgu Tasarım Görünümü penceresinin en üstünde, Sorgu Tasarımı Çubuğu ve Tasarım çubuğunun simgeleri görüntülenir.

Sorguyu test etmek istiyorsanız, veritabanı belgesi içindeki sorgu adı üzerinde çift tıklayın. Sorgu sonucu bir tabloda Veri Kaynağı Görünümüne benzer bir şekilde görüntülenir. Not: görüntülenen tablo geçici bir tablodur.

### Sorgu Tasarım Görünümü Tuşları

Tuş | İşlev
F4 | Önizleme
F5 | Sorgu Çalıştır
F7 | Tablo veya Sorgu Ekle

## Gözat

Sorgu tasarımını ilk defa açtığınızda göreceğiniz pencerede ilk olarak sorgunuza temel olacak tabloyu veya sorguyu seçmelisiniz.

Alanları sorguya eklemek için üzerlerinde çift tıklayın. İlişkileri tanımlamak için sürükleyip bırakın.

Bir sorguyu tasarlarken seçtiğiniz tabloları düzenleyemezsiniz.

### Tabloları çıkar

Tasarım Görünümünden bir tablo kaldırmak için, tablo penceresinin üst sınırına tıklayın ve içerik menüsünü görüntüleyin. Kaldırmak için Sil komutunu kullanabilirsiniz. Ayrıca, Sil tuşuna basarakta kaldırabilirsiniz.

### Tabloyu taşı ve tablo boyutunu düzenle

Tercihlerinize göre tabloları yeniden yeniden boyutlandırabilir ve düzenleyebilirsiniz. Tabloları taşımak için, tablonun üst sınırını kullanarak tabloyu istediğiniz konuma sürükleyin. Tablonun görüntülendiği alanın boyutunu ise, fare imlecini tablo sınırına veya kenarına konumlandırın ve tablo istediğiniz boyuta gelene kadar fareyi sürükleyin.

## Tablo İlişkileri

Eğer bir tablonun bir alanının isminin başka bir tablonun bir alanının ismiyle veri ilişkileri varsa bu ilişkileri sorgularınızda kullanabilirsiniz.

Eğer, örneğin, maddeler için madde numarasına göre tanımlanan bir çalışma sayfanız varsa ve müşteriler için müşterilerin siparişlerine karşılık gelen madde numaralarına göre tüm maddeleri kaydettiğiniz bir çalışma sayfanız varsa o zaman iki "madde numarası" veri alanı arasında bir ilişki vardır. Eğer bir müşterinin sipariş verdiği tüm maddeleri geri döndüren bir sorgu oluşturmak isterseniz, iki çalışma sayfasından veri almanız gerekir. Bunu yapmak için, LibreOffice'e iki çalışma sayfası içindeki verilerde nasıl bir ilişki olduğunu söylemelisiniz.

Bunu yapmak için, tablo içerisindeki bir alana tıklayın (örneğin, Müşteri tablosundan "Madde-Numarası" alan adı), fare düğmesine basılı tutun ve daha sonra alan adını diğer tabloadaki alan adına (Madde tablosundan "Madde Numarası") sürükleyin. Fare düğmesini bıraktığınızda, iki penceredeği iki alanı bağlayan bir çizgi belirir. Her iki alan adına karşılık gelen içeriklerin aynı olmasına karşılık gelen durum sonuçtaki SQL sorgusuna yazılır.

Birden fazla ilişkili çalışma sayfası tabanlı bir sorgunun oluşturulması ancak LibreOffice, ilişkisel bir veritabanı için arayüz olarak kullanıldığında mümkündür.

Bir sorguda farklı veritabanlarının tablolarına erişemezsiniz. Çoklu tablolar içeren sorgular sadece bir veritabanı üzerinde oluşturulabilir.

### Bağlantı türünü belirlemek

Eğer iki alanı bağlayan çizgiye iki kere tıklarsanız veya Ekle - Yeni İlişki menü konutunu çağırırsanız, İlişkiler iletişim penceresi içerisinde bağlantının türünü tanımlayabilirsiniz.

Başka bir yaklaşım olarak, çizgi seçilene kadar Tab tuşuna basın ve daha sonra içerik menüsünü görüntülemek içik Shift+F10 tuşlarına basın ve orada Düzenle komutunu seçin. Bazı veritabanları sadece belli birleştirme alt kümelerini destekler.

### İlişkileri silmek

İki tablo arasındaki ilişkiyi silmek için bağlantı çizgisine tıklayın ve ardından Delete tuşuna basın.

Diğer bir yaklaşım olarak, İlişkiler iletişim penceresindeki İlgili alanlar girdileri bir bir silin. Veya bağlayan vektör vurgulu gözükene kadar Tab tuşuna basın ve daha sonda Shift+F10 tuşlarına içerik menüsü açmak için basın ve Sil komutunu seçin.

## Sorguyu tanımla

Sorguyu tanımlamak için durumları seçin. Tasarım tablosunun her sütunu sorgu için bir veri alanı kabul eder. Bir satırın durumları bir Mantıksal VE ile bağlıdır.

### Alan adını belirler

Önce, sorguya eklemek istediğiniz tüm alan adlarını seçin. Bunu ya sürükle bırak ile veya tablo penceresindeki alan adına çift tıklayarak yapabilirsiniz. Sürükle bırak yöntemi ile, fareyi tablo penceresi içerisinden bir alanı sorgu tasarım alanının altına taşımak için kullanın. Bunu yaparken, alanı hangi sütuna ekleyeceğinize karar verebilirsiniz. Bir alan adını iki kere tıklayarak seçin. Daha sonra ilk boş sütuna eklenecektir.

### Alan adlarını silmek

Sorgudan bir alan ismini çıkartmak için, alanın bulunduğu sütunun başlığına tıklayın ve içerik menüsünden Sili seçin.

### Sorguyu kaydet

Sorguyu kaydetmek için Standart Çubuktaki Kaydet simgesini kullanın. Sorguya bir isim girmenizi isteyen bir pencere göreceksiniz. Eğer veritabanı şemaları destekliyorsa bir şema da girebilirsiniz.

#### Şema

Sorguya veya tablo görünümüne atanmış şemanın adını girin.

#### Sorgu veya tablo görünümü adı

Sorgunun veya tablo görünümünün adını girin.

### Veriyi süzmek

Sorgu için veri süzmek için, Tasarım Görünümü altındaki alanda istenilen tercihleri ayarlayın. Şu satırlar kullanılabilir:

#### Alan

Sorgu içerisinde kaynak gösterdiğiniz veri alanının adını girin. Alt satırlarda yapılan tüm ayarlar bu alana işaret eder. Eğer bir hücreyi fare tıklaması ile etkinleştirirseniz, alan seçmenizi sağlayan bir ok düğmesi görürsünüz. "Tablo isim.*" seçeneği tüm veri alanlarını seçer ve kıstaslar tüm tablo alanları için geçerlidir.

#### Takma Ad

Bir rumuz tanımlar. Bu rumuz alan adı yerine soru içerisinde listelenecektir. Bu durum kullanıcı tanımlı sütun etiketleri kullanmanıza olanak sağlar. Örneğin, eğer veri alanı PtNo adına sahipse ve bu ad yerine sorguda PartNum gözükmesini isterseniz PartNum ifadesini rumuz olarak girin.

Bir SQL deyiminde rumuzlar aşağıdaki gibi tanımlanır:

SELECT column AS alias FROM table.

Örneğin:

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

#### Tablo

Seçili veri alanına karşılık gelen veritabanı tablosu burada listelenir. Eğer bir hücreyi fare tıklaması ile etkinleştirirseniz, mevcut sorgunun başka bir tablosunu seçmenizi sağlayan bir ok belirir.

#### Sırala

Eğer hücreye tıklarsanız, sıralama seçenekleri arasından seçim yapabilirsiniz: artan, azalan ve sırasız. Metin alanları alfabetik olarak ve sayısal alanlar sayısal olarak sıralanacaktır. Pek çok veritabanı için yöneticiler sıralama seçenekleri ayarlayabilir.

#### Görünür

Eğer bir veri alanı için Görünür özelliğini işaretlerseniz, o veri alanı sorguda görünür olacaktır. Eğer bir veri alanını bir durumu formüle etmek için kullanmışsanız onu göstermeniz gerekmez.

#### Ölçüt

Veri alanı içeriğinin süzüleceği kriteri belirtir.

#### VEYA

Burada her satırda süzme için bir ek kıstas tanımlayabilirsiniz. Bir sütunda çoklu kıstas bir VEYA bağlantısı ile bağlanacaktır.

İşlevler için bir başka satır daha eklemek için sorgu tasarısının alt alanındaki satır başlıklarının içerik menüsünü de kullanabilirsiniz.

### İşlevler

Burada çalıştırabileceğiniz fonksiyonlar veritabanına bağlıdır.

Eğer HSQL veritabanı ile çalışıyorsanız, İşlevler satırındaki liste kutusu size aşağıdaki seçenekleri sunar:

Seçenek | SQL | Efekt
İşlev yok |  | Hiçbir fonksiyon çalıştırılmayacak.
Ortalama | AVG | Bir alanın aritmetik ortalamasını hesaplar.
Say | BAĞ_DEĞ_SAY | Tablodaki kayıt sayısını belirler. Boş alanlar (a) veya (b) olarak sayılabilir. a) COUNT(*): Değişken olarak yıldız işareti geçirmek tablo içindeki tüm kayıtları sayar. b) COUNT(sütun): Parametre olarak bir alan adı göndermeniz sadece sorudaki alan adında değer içeren alanları sayar. Boş değerler (boş alanlar) sayılmayacaktır.
Azami | AZAMİ | Bir alanın en yüksek değerini belirler.
Asgari | MİN | Bir alanın en düşük değerini belirler.
Toplam | TOPLAM | İlgili alanların toplam değerini hesaplar.
Grupla | GRUPLA | Seçilen alan adına göre veriyi sogulayan gruplar. Fonksiyonlar belirtilen gruba göre çalıştırılır. SQL'de, bu seçenek GROUP BY cümleciğine karşılık gelir. Eğer bir kıstas eklenirse, bu girdi SQL'de OLANLAR kısmına gözükür.

SQL deyimine doğrudan fonksiyon çağrıları da girebilirsiniz. Sözdizimi şöyledir:

SELECT FUNCTION(column) FROM table.

Örneğin, toplama yapmak için SQL fonksiyon çağrısı şöyledir:

SELECT SUM("Price") FROM "Article".

Group fonksiyonu dışında, yukarıdaki fonksiyonları sözde Toplam fonksiyonlarıdır. Bunlar sonuçlardan özet oluşturmak için veri hesaplayan fonksiyonlardır. Liste kutusunda listelenmeyen ilave fonksiyonlar da mümkündür. Bunlar kullanımdaki bilimsel veritabanı sistemine ve Base sürücüsünün mevcut durumuna bağlıdır.

Liste kutusunda listelenmeyen işlevleri kullanmak için onları Alan başlığı altına girmelisiniz.

Fonksiyon çağrılarına da takma isim atayabilirsiniz. Eğer sorgu sütun başlığında görüntülenmiyorsa istenilen ismi Takma ad altına girin.

SQL deyiminde karşılık gelen fonksiyon:

SELECT FUNCTION() AS alias FROM table

Örnek:

SELECT COUNT(*) AS count FROM "Item"

Eğer bu işlevi çalıştırırsanız, sorgu için sütunları bir "Grup" işlevi olarak almak dışında sorguya fazladan sütun ekleyemezsiniz.

Örnekler

Takip eden örnekte, iki tablo arasında bir sorgu çalıştırılır: "Öğe_Numarası" alanı ile "Öğe" tablosu ve "Tedarikçi_Adı" alanı ile "Tedarikçi" tablosu. Ek olarak, her iki tablo da ortak bir alan ismine sahiptir, "Tedarikçi_Numarası".

Üçten fazla öğe dağıtan tüm tedarikçileri içeren bir sorgu oluşturmak için şu adımlar gereklidir:

1. Sorgu tasarımına "Öğe" ve "Tedarikçi" tablolarını ekleyin.

2. İki tablonun "Tedarikçi_Numarası" alanlarını eğer bu tür bir ilişki daha önceden tanımlanmadı ise birbirine bağlayın.

3. "Öğe" tabolsunun "Öğe_Numarası" alanına çift tıklayın. İçerik menüsünü kullanarak İşlev satırını görüntüleyin ve Say işlevini seçin.

4. Kriter olarak >3 girin ve Görünür alanı kapatın.

5. "Tedarikçi" tablosunun "Tedarikçi_Adı" alanına çift tıklayın ve Grup işlevini seçin.

6. Sorguyu çalıştır.

Eğer "fiyat" (bir maddenin ona ait fiyatı için) ve "Tedarikçi_Numarası" (maddenin tedarikçisi için) alanları "Öğe" tablosunda varsa, bir tedarikçinin sağladığı öğenin ortalama fiyatını takip eden sorgu ile elde edebilirsiniz

1. "Öğe" tablosunu sorgu tasarımına ekleyin.

2. "Fiyat" ve "Tedarikçi_Numarası" alanlarına çift tıklayın.

3. İşlev satırını etkinleştirin ve "Fiyat" alanından Ortalama işlevini seçin.

4. Ayrıca takma ad satırına "Ortalama"'yı ekleyebilirsiniz (tırnak işaretleri olmadan).

5. "Tedarikçi_Numarası" alanı için Grup seçin.

6. Sorguyu çalıştır.

Aşağıdaki içerik menüsü komutları ve sembolleri kullanılabilir:

### İşlevler

Fonksiyonların seçimi için bir satırı gösterir veya gizler.

### Tablo İsmi

Tablo adı için satırı gösterir veya gizler.

### Rumuz İsmi

Takma isim için satırı gösterir veya gizler.

### Birbirinden Farklı Değerler

Sorguya sadece ayrı değerleri uygular. Bu seçili alanlarda pek çok defa veri gösteren kayıtlara uygulanır. Eğer Ayrı Değerler komutu etkinse, (DISTINCT) sorgusu içerisinde sadece bir kayıt göreceksiniz. Aksi halde, (ALL) sorgu kıstasına uyan tüm kayıtları göreceksiniz.

Örneğin, "Smith" adı adres veritabanınızda bir kaç kez tekrarlıyorsa, Ayrı Değerler komutunu "Smith" adının sorgu içerisinde bir kere geçeceğini belirtmek için kullanabilirsiniz.

Birden fazla alanı içeren bir sorgu için, tüm alanlardan oluşan değerlerin katışımı tekil olmalı böylece belli bir kaydı kullanarak sonuç oluşturulabilir. Örneğin, adres defterinizde "Chicago'daki Smith" bir kere ve "Londra'daki Smith" iki kere var. Ayrı Değerler komutu ile, sorgu " soyisim" ve "şehir" alanını kullanacak ve "Chicago'daki Smith" ve "Londra'daki Smith" sorgu sonucunda bir kere dönecektir.

SQL içerisinde, bu komut DISTINCT yüklemine karşılık gelir.

### Limit

Sorgunun döndüreceği kayıt sayısına bir üst sınır getirmenize izin verir.

Eğer bir Sınır eklenmişse en fazla belirttiğiniz sayı kadar satır alırsınız. Aksi durumda belirlenen kritere uyan bütün kayıtları görürsünüz.

### Süzgeç durumlarını formülleştirmek

Filtre durumlarını formül olarak yazarken, değişik çeşitlilikte işlemci ve komut sizin için kullanılabilir durumdadır. İlişkisel işlemcilerden ziyade, veritabanı alanlarının içeriğini sorgulayan SQL'e özel komutlar vardur. Eğer bu komutları LibreOffice sözdizimi içerisinde kullanırsanız, LibreOffice bunları otomatik olarak karşılık gelen SQL sözdizimlerine dönüştürür. Aynı zamanda SQL komutunu doğrudan da yazabilirsiniz. Takip eden tablo işlemci ve komutlar hakkında bir önizleme sağlar:

İşlemci | Anlam | Koşul sağlanır, eğer...
= | eşittir | ... alanın içeriği belirtilen ifadeyle özdeşse. Sorgu alanlarında = işareti gösterilmez. Eğer her hangi bir işlem işareti olmadan bir değer girerseniz, = işareti otomatik olarak benimsenir.
<> | eşit değildir | ... alanın içeriği belirtilen ifadeye karşılık gelmiyorsa.
> | büyüktür | ... alanın içeriği belirtilen ifadeden büyükse.
< | küçüktür | ... alanın içeriği belirtilen ifadeden küçükse.
>= | büyük veya eşit | ... alanın içeriği belirtilen ifadeden büyük veya eşitse.
<= | küçük ya da eşittir | ... alanın içeriği belirtilen ifadeden küçük veya eşitse.

LibreOffice komutu | SQL komutu | Anlam | Koşul sağlanır, eğer...
IS EMPTY | IS NULL | boştur | ... Alanın adı boş. Üç durumlu Evet/Hayır alanları için, bu komut otomatik olarak karar verilmeyen durumu sorgular (Evet ya da Hayır).
IS NOT EMPTY | IS NOT NULL | boş değildir | ... alan ismi boş değilse.
LIKE (herhangi bir sayıda karakter için * yer tutucusu tam bir karakter için ? yer tutucusu) | LIKE (herhangi bir sayıda karakter için % yer tutucusu tam bir karakter için _ yer tutucusu) | şunun bir ögesi | ... veri alanı belirtilen ifadeti içerir. "*" yer tutucusu, x ifadesinin başta mı (x*), sonda mı (*x) veya alan içeriğinin içinde mi (*x*) olduğunu ifade eder. Bir yertutucu olarak SQL sorguları içerisine % SQL karakterini veya benzeri dosya sistemi yertucusunu (*) LibreOffice arayüzü içerisine yazabilirsiniz. * veya % yertutucusu herhangi bir saydaki karaktere karşılık gelir. LibreOffice arayüzündeki soru işareti (?) veya alt çizgi (_) SQL sorguları içerisinde sadece bir karakteri temsil etmek için kullanılır.
NOT LIKE | NOT LIKE | Elemanı değildir | ... alan ismi belirtilen ifadeyi içermezse.
BETWEEN x AND y | BETWEEN x AND y | [x,y] aralığına düşer | ... alan ismi x ve y arasındaki bir değeri içerirse.
NOT BETWEEN x AND y | NOT BETWEEN x AND y | [x,y] aralığına düşmez | ... alan ismi x ile y aralığında olmayan bir değer içerirse.
IN (a; b; c...) Listenin tüm elemanlarını ayırmak için noktalı virgül kullanıldığına dikkat edin! | IN (a, b, c...) | a, b, c... yi içerir | ... alan adı belirtilen a, b, c... ifadelerinden birini içerir. Herhangi bir sayıda ifade belirtilebilir, sorgunun sonucu bir Or bağlantısı ile belirtilir. a, b, c... ifadesi karakter veya sayılardan oluşabilir
NOT IN (a; b; c...) | NOT IN (a, b, c...) | a, b, c... yi içermez | ... alan ismi belirtilen ifadelerden birini a, b, c,... içermezse
= TRUE | = TRUE | doğru değerine sahiptir | ... alan ismi True değerini içerirse.
= FALSE | = FALSE | yanlış değerine sahiptir | ... alan ismi yanlış değerine sahipse.

### Örnekler

='Ms.' | "Ms." içeriğine sahip alanların isimlerini döndürür
<'2001-01-10' | 10 Ocak 2001 tarihinden bu yana geçen gün sayısını döndürür
LIKE 'g?ve' | alan içeriği "give" ve "gave" gibi olan alanların isimlerini döndürür.
LIKE 'S*' | "Sun" gibi içeriği olan alanların isimlerini döndürür.
BETWEEN 10 AND 20 | 10 ile 20 arasında değerlere sahip alanların isimlerini döndürür. (Bu alnalar metin alanı veya sayı alanı olabilir).
IN (1; 3; 5; 7) | 1, 3, 5, 7 değerlerine sahip alanların isimlerini döndürür. Eğer alan ismi bu sayılardan birini içerirse, örneğin, belirli bir sayıyı içeren maddeyi döndürecek şekilde bir soru oluşturabilirsiniz.
NOT IN ('Smith') | "Smith" değerini içermeyen alan isimlerini döndürür.

Like Kaçış Sıralamaları: {escape 'escape-character'}

Örnek: select * from Item where ItemName like 'The *%' {escape '*'}

Bu örnek öğe adı 'The *' ile başlayan tüm girdileri size verecektir. Bunun anlamı yertutucu olarak yorumlanan karakterleri de, *, ?, _, % veya nokta gibi, arayabilirsinizdir.

Dış Birleştirme Kaçış Tuşu Dizisi: {oj outer-join}

Örnek: select Article.* from {oj item LEFT OUTER JOIN orders ON item.no=orders.ANR}

### Metin alanlarını sorgulamak

Metin alanını sorgulamak için, ifadeyi tek tırnaklar arasına koymalısınız. Büyük ve küçük harfler arasındaki fark kullanılan veritabanına bağlıdır. LIKE, varsayılan olarak, harf duyarlıdır (yine de bazı veritabanları bunu o kadar kesin görmez).

### Veri alanlarını sorgulamak

Veri alanları tarih olduklarını belirten #Date# ifadesiyle temsil edilirler. Bir durumda kullanılan tarih, zaman ve tarih/zaman sabitleri (değişmezleri) SQL Kaçış Sözdizimi türünde veya varsayılan SQL2 sözdiziminde olabilirler.

Veri Türü Ögesi | SQL Vazgeçme sözdizimi #1 - artık kullanılmıyor olabilir | SQL Vazgeçme sözdizimi #2 | SQL2 sözdizimi
Tarih | {D'YYYY-AA-DD'} | {d 'YYYY-AA-DD'} | 'YYYY-AA-GG'
Zaman | {D'SS:DD:SS'} | {t 'SS:DD:SS[.SS]'} | 'SS:MI:SS[.SS]'
TarihZaman | {D'YYYY-MM-DD HH:MM:SS'} | {ts 'YYYY-MM-DD HH:MI:SS[.SS]'} | 'YYYY-MM-DD HH:MI:SS[.SS]'

Örnek: select {d '1999-12-31'} from world.years

Örnek: select * from benimtablom where yillar='1999-12-31'

Gün ifadelerinin tümü (sabitler) tek tırnak içinde yazılmalıdır. (Kullandığınız özel veritabanı ve bağlayıcılar için kaynaklara başvurabilirsiniz.)

### Evet/Hayır alanlarını sorgulamak

Evet/Hayır alanlarını sorgulamak için, dBASE tabloları için takip eden sözdizimini kullanın:

Durum | Sorgu kriteri | Örnek
Evet | dBASE tabloları için: verilen herhangi bir değere eşit değil | =1 "Evet" veya "Açık" (siyah olarak seçili) alan değerine sahip tüm Evet/Hayır kayıtlarını döndürür.
Hayır | . | =0 "Hayır" veya "Kapalı" durum değerine sahip alan Evet/Hayır alanlarını içeren tüm kayıtları getirir.
Boş | IS NULL | IS NULL Evet/Hayır alanlarında ya Evet ya da Hayır durumuna sahip (gri olarak seçili) tüm kayıtları getirir.

Sözdizimi kullanılan veritabanına sistemine bağlıdır. Evet/Hayır alanlarının farklı tanımlanabileceğini de unutmayın (3 yerine sadece 2 durum).

### Parametre sorguları

Parametre sorguları kullanıcıya çalışma zamanında değer girme imkanı sunarlar. Bu değerler kullanıcıya gösterilecek kayıtların seçilmesinde kriter olarak kullanılırlar. Böyle her değerin bir parametre adı vardır ve sorgu çalıştırıldığında kullanıcıya sormak için kullanılır.

Parametre adları, bir sorgunun hem Tasarım hem de SQL görünümlerinde bir kolon tarafından gerçekleştirilir. Bu, bir değerin görünebileceği her yerde kullanılabilir. Aynı değer, sorguda bir kereden fazla görünecekse, aynı parametre adı kullanılır.

Kullanıcının eşitlik için eşleştirilen bir değer girdiği en basit durumda, önceki sütunundaki parametre adı Kriter satırına girilir. SQL kipinde bu WHERE "Field" = :Parametre_adı olarak girilmelidir.

Parametre isimlerinde <space>`!"$%^*()+={}[]@'~#<>?/, karakterleri kullanılamaz. Alan adları veya SQL için ayrılmış kelimeler de kullanılamazlar. Takma adlarla aynı olabilirler.

Bir metin alanının içeriğinin parçalarına dayalı kayıtları seçmek için yararlı bir yapı, ölçüt olarak "LIKE '%' || :Part_of_field || '%'" ile gizli bir sütun eklemektir. Bu, tam bir eşleşme ile kayıtları seçecektir. Büyük küçük harfe duyarsız bir seçim istenirse bir çözüm alanda kriter olarak LOWER (Alan_Adı) ve LIKE LOWER ( '%' || :Alanın_bir_kısmı || '%' ) kullanmak olabilir. Ölçütlerdeki boşlukların önemli olduğunu unutmayın; bırakılmazlarsa SQL ayrıştırıcı tüm ölçütü eşleşen bir dize olarak yorumlar. SQL kipinde LOWER ( "Alan_Adı" ) LIKE LOWER ( '%' || :Alanın_bir_kısmı || '%' ) olarak yazılması gerekir.

Parametre sorguları, kullanıcının görüntülenen kayıtları kısıtlamasına izin vermek için alt formlar için veri kaynağı olarak kullanılabilir.

### Parametre Girişi

Parametre Girdisi penceresinde kullanıcıdan parametre değerleri girmesi istenir. Her sorgu parametresi için bir değer girişinden sonra Tamam'a tıklayarak veya Enter tuşuna basarak onaylayın.

Kullanıcı tarafından girilen değerler, ilgili kriter için SQL için izin verilen herhangi bir karakterden oluşabilir; bu temel veritabanı sistemine bağlı olabilir.

Kullanıcı, daha karmaşık ölçütlerle kayıt almak için SQL joker karakterleri "%" (isteğe bağlı dize) veya "_" (keyfi tek karakter) kullanabilir.

## SQL Kipi

SQL "Biçimlendirilmiş Sorgu Diline" karşılık gelir ve ilişkisel veri tabanlarını yönetmek ve güncellemek için yönergeler tanımlar.

LibreOffice içerisinde pek çok sorgu içib herhangi bir SQL bilgisine ihtiyaç yokktur, çünkü SQL kodunu girmenize gerek yoktur. Eğer bir sorguyu sorgu tasarımı ile oluşturduysanız, LibreOffice otomatik olarak sizin yönergelerinizi karşılık gelen SQL sözdizimlerine çevirir. Eğer, Tasarım Görünümü Geçişi Açık/Kapalı düğmesinin yardımı ile, SQL görünümüne geçerseniz, bir sorgu için daha önce oluşturulmuş SQL komutlarını görebilirsiniz.

Sorgunuzu SQL kodu içerisinde doğrudan formül olarak yazabilirsiniz. Yine de, özel sözdiziminin kullandığınız veritabanı sistemine bağlı olduğunu unutmayın.

Eğer SQL komutunu elle girerseniz, Sorgu tasarımı grafik arayüzünde desteklenmeyen SQL'e özgü sorgular oluşturabilirsiniz. Bu sorgular doğal SQL kipinde çalıştırılmalıdır.

SQL görünümü içindeki SQL komutunu doğrudan çalıştır simgesine tıklayarak, LibreOffice tarafından işlenmeyen bir sorguyu formül olarak yazabilirsiniz.