Için ölçüt bölmesindeki (Visual veritabanı araçları) arama koşullarını birleştirme kuralları
Herhangi bir sayıda arama koşulu, herhangi bir sayıda ile bağlantılı olarak içeren bir sorgu oluşturabilir VE ve veya işleçlerini.Bir sorgu ile birlikte AND ve OR yan tümcesi için karmaşık olabilir, bu anlamak faydalıdır; böylece nasıl bir sorguyu yürüttüğünüzde, ve böyle bir sorguda gösterilir nasıl yorumlanır Ölçüt bölmesi and SQL bölmesi.
Not
Hakkında ayrıntılı bilgi için yalnızca birini içeren bir arama koşulları AND veya OR işlecini, bkz: Nasıl Yapılır: Bir sütun (Visual veritabanı araçları) için birden çok arama koşullarını belirtin. ve Nasıl Yapılır: Birden çok sütun (Visual veritabanı araçları) için birden çok arama koşullarını belirtin..
Aşağıda hakkında bilgi bulabilirsiniz:
Önceliğini VE ve veya her ikisini de içeren sorgular.
Nasıl koşulları da VE ve/veya yan tümceleri birbirlerine mantıksal olarak ilişkili.
Nasıl sorgu ve Görünüm Tasarımcısı gösteren iki AND içeren Ölçüt bölmesi sorgularda ve OR.
Aşağıdaki tartışmaları anlamanıza yardımcı olmak için , birlikte çalıştığınız ımagine bir employee sütunları içeren tabloyu hire_date, job_lvl, ve status. Bu tür bilgiye gerek örneklerde varsayılmaktadır uzun çalışan (diğer bir deyişle çalışanın işe alma tarih nedir) şirkette çalıştığı nasıl, ne tür iş çalışan (iş düzey nedir), gerçekleştirir ve çalışanın durumu (örneğin, emekli).
Öncelik, AND ve OR
Bir sorgu yürütüldüğünde, önce ile bağlantılı yan tümceleri değerlendirir VE ve olanlar ile bağlantılı OR.
Not
NOT işleç iki VE üzerinde önceliğe sahiptir ve OR.
Örneğin, işe alma tarih bakmadan orta düzey işlerde çalışan ya da şirketinizde beş yıldan fazla bir süre içinde bir alt düzey işlerde çalışanları bulmak için , WHERE yan tümce aşağıdaki gibi gerçekleştirebilmesi:
WHERE
hire_date < '01/01/90' AND
job_lvl = 100 OR
job_lvl = 200
' ın VE üzerinde varsayılan önceliği geçersiz kılmak için VEYA SQL bölmesinde parantez özel koşullar içine koyabilirsiniz.Parantez içindeki koşullar her zaman önce değerlendirilir.Örneğin için Bul şirkette tüm çalışanları beş yıl içinde ya da birden çok daha düşük veya orta-CVE-2006-düzey işleri, WHERE yan tümce aşağıdaki gibi gerçekleştirebilmesi:
WHERE
hire_date < '01/01/90' AND
(job_lvl = 100 OR job_lvl = 200)
İpucu
Önerilen netliği için her zaman ayraçlar birleştirirken eklediğiniz, AND ve OR üzerinde varsayılan önceliği güvenmek yerine, yan tümceleri.
Nasıl çalışır VE çok sayıda OR yan tümceleri
Anlama nasıl AND ve OR yan tümcelerinin birleştirildiğinde ilgili yapılandırmak ve karmaşık sorgularda sorgu ve Görünüm Tasarımcısı anlamanıza yardımcı olabilir.
Birden çok koşul kullanarak bağlanırsanız VE ilk küme ile koşullarıyla bağlantılı VE ikinci için koşulların tümünün geçerli küme.Diğer bir deyişle, ile VE başka bir koşul için bağlı bir koşul için tüm koşulların ikinci dağıtılan küme.Örneğin, aşağıdaki şematik gösterim, bağlı bir AND koşulunu gösterir bir küme OR koşulları:
A AND (B OR C)
Yukarıdaki olan gösterim, AND koşulu ikinci koşullar kümesine nasıl dağıtıldığı gösteren aşağıdaki şematik gösterim, mantıksal olarak eşdeğerdir:
(A AND B) OR (A AND C)
Bu dağıtarak ilkesine, sorgu ve Görünüm Tasarımcısı nasıl etkiler.Örneğin, şirketinizde beş yıldan fazla bir süre daha düşük veya orta-CVE-2006-tüm çalışanları için aradığınız ımagine düzey işler.Aşağıdaki WHERE yan tümcesine girdiğiniz deyim SQL bölmesinde:
WHERE (hire_date < '01/01/90' ) AND
(job_lvl = 100 OR job_lvl = 200)
Yan tümce geçerli ile bağlantılı iki yan tümceleri AND ile bağlantılı OR.Bu ifade açık AND koşulunu bir kez veya her koşul için yinelemeniz yoludur yan tümce.Aşağıdaki ifadeyi daha açık (ve daha uzun) önceki bir deyim, ancak ona mantıksal olarak eşdeğerdir:
WHERE (hire_date < '01/01/90' ) AND
(job_lvl = 100) OR
(hire_date < '01/01/90' ) AND
(job_lvl = 200)
AND yan tümcelerini bağlantılı OR yan tümcesi için dağıtmanın ilkeye kaç tek tek koşullar katılan olsun uygulanır.Örneğin, şirketinizde beş yıldan fazla olan ya da emekli daha yüksek veya orta düzeyli çalışanları bulmak istediğinizi düşünün.WHERE yan tümce şuna benzeyebilir:
WHERE
(job_lvl = 200 OR job_lvl = 300) AND
(hire_date < '01/01/90' ) OR (status = 'R')
Sonra koşullar dağıtılmış AND ile bağlantılı WHERE yan tümce şu şekilde görünecektir:
WHERE
(job_lvl = 200 AND hire_date < '01/01/90' ) OR
(job_lvl = 200 AND status = 'R') OR
(job_lvl = 300 AND hire_date < '01/01/90' ) OR
(job_lvl = 300 AND status = 'R')
Birden çok AND ve/veya yan tümceleri. Ölçüt bölmesinde gösterilen nasıl
Sorgu ve Görünüm Tasarımcısı, arama koşullarında gösteren Ölçüt bölmesi.Ancak, ile bağlantılı birden çok yan tümce içeren bazı durumlarda VE ve veya ölçüt bölmesindeki gösterimi, beklediğiniz olmayabilir.Ayrıca, sorgunuzu ölçüt bölmesindeki değiştirirseniz veya Diyagram bölmesi, SQL deyiminizi girdiğiniz gelen değiştirilmiş bulabilirsiniz.
Genel olarak, bu kurallar dikte nasıl AND ve OR yan tümceleri Ölçüt bölmesinde görüntülenir:
Tüm koşulları görünür AND ile bağlantılı Filtre Kılavuz sütunu aynı veyaVeya... sütun.
Tüm koşulları ile bağlantılı OR ayrı görünür. Veya... sütunlar.
Mantıksal sonucu bir bileşimi AND ve OR yan tümceleri olan VE çok sayıda OR yan tümce içinde dağıtıldığı, Ölçüt bölmesine bu açıkça AND yan tümcesinin'gereken sayıda yineleyerek gösterir.
Örneğin, SQL bölmesinde, iki yan tümceleri ile bağlantılı olarak aşağıdaki gibi bir arama koşulu oluşturmak VE üzerinde ile bağlantılı bir üçüncü bir önceliğe VEYA:
WHERE (hire_date < '01/01/90' ) AND
(job_lvl = 100) OR
(status = 'R')
Sorgu ve Görünüm Tasarımcısı gösteren Bu ölçüt bölmesindeki WHERE yan tümce aşağıdaki gibi:
Ancak, bağlantılı OR yan tümce bir AND yan tümcesinin üzerinde önceliğe sahiptir, AND yan tümcesinin her OR tümcesi için yinelenir.Bu VE neden yan tümce için her OR dağıtılacak yan tümce.Örneğin, SQL bölmesinde, WHERE yan tümce aşağıdaki gibi oluşturabilirsiniz:
WHERE (hire_date < '01/01/90' ) AND
( (job_lvl = 100) OR
(status = 'R') )
Sorgu ve Görünüm Tasarımcısı gösteren Bu ölçüt bölmesindeki WHERE yan tümce aşağıdaki gibi:
Bağlantılı OR yan tümceleri yalnızca tek bir veri sütun kapsıyorsa, sorgu ve Görünüm Tasarımcısı tüm OR yan tümcesini kılavuzun, tek bir hücreye AND yan tümcesinin yinelemek zorunda önleme yerleştirebilirsiniz.Örneğin, SQL bölmesinde, WHERE yan tümce aşağıdaki gibi oluşturabilirsiniz:
WHERE (hire_date < '01/01/90' ) AND
((status = 'R') OR (status = 'A'))
Sorgu ve Görünüm Tasarımcısı gösteren Bu ölçüt bölmesindeki WHERE yan tümce aşağıdaki gibi:
Sorgu (ölçüt bölmesindeki değerlerden birini değiştirmek gibi) bir değişiklik yaparsanız sorgu ve Görünüm Tasarımcısı SQL bölmesindeki SQL deyim yeniden oluşturur.Yeniden oluşturulan SQL deyim özgün deyiminiz yerine Ölçüt bölmesi görüntü benzer.Örneğin, ölçüt bölmesi dağıtılmış AND yan tümceleri içeriyorsa, elde edilen SQL bölmesindeki deyim ile açıkça dağıtılmış AND yan oluşturulur.Ayrıntılar için bu konunun önceki kısımlarında "How VE Works ile birden çok OR yan" konusuna bakın.