Bagikan melalui


Menggabungkan kondisi saat OR memiliki prioritas (Alat Visual Database)

Berlaku untuk:SQL Server

Untuk menautkan kondisi dengan OR dan memberi mereka prioritas atas kondisi yang ditautkan dengan AND, Anda harus mengulangi AND kondisi untuk setiap OR kondisi.

Misalnya, bayangkan Anda ingin menemukan semua karyawan yang telah bersama perusahaan lebih dari lima tahun dan memiliki pekerjaan tingkat yang lebih rendah atau dihentikan. Kueri ini memerlukan tiga kondisi, satu kondisi yang ditautkan ke dua kondisi tambahan dengan AND:

  • Karyawan dengan tanggal sewa lebih awal dari lima tahun yang lalu, dan

  • Karyawan dengan level pekerjaan 100 atau yang statusnya adalah "R" (untuk pensiunan).

Prosedur berikut ini mengilustrasikan cara membuat tipe kueri ini di panel Kriteria.

Gabungkan kondisi ketika OR memiliki prioritas

  1. Di Panel Kriteria (Alat Database Visual), tambahkan kolom data yang ingin Anda cari. Jika Anda ingin mencari kolom yang sama menggunakan dua kondisi atau lebih yang ditautkan dengan AND, Anda harus menambahkan nama kolom data ke kisi sekali untuk setiap nilai yang ingin Anda cari.

  2. Buat kondisi yang akan ditautkan dengan dengan OR memasukkan yang pertama ke dalam kolom Kisi filter dan yang kedua (dan yang berikutnya) ke dalam kolom Or... terpisah. Misalnya, untuk menautkan kondisi dengan OR pencarian dan kolom tersebut job_lvlstatus , masukkan = 100 di kolom Filter untuk job_lvl dan = 'R' di kolom Atau... untuk status.

    Memasukkan nilai-nilai ini di kisi menghasilkan klausa berikut WHERE dalam pernyataan di panel SQL:

    WHERE (job_lvl = 100) OR (status = 'R')
    
  3. AND Buat kondisi dengan memasukkannya sekali untuk setiap OR kondisi. Tempatkan setiap entri di kolom kisi yang sama dengan kondisi yang OR sesuai dengannya. Misalnya, untuk menambahkan AND kondisi yang mencari hire_date kolom dan berlaku untuk kedua OR kondisi, masukkan < '1/1/91' di kolom Kriteria dan kolom Atau... .

    Memasukkan nilai-nilai ini di kisi menghasilkan klausa berikut WHERE dalam pernyataan di panel SQL:

    WHERE (job_lvl = 100) AND
      (hire_date < '01/01/91') OR
      (status = 'R') AND
      (hire_date < '01/01/91')
    

    Saran

    Anda dapat mengulangi AND kondisi dengan menambahkannya sekali, lalu menggunakan perintah Potong dan Tempel dari menu Edit untuk mengulanginya untuk kondisi lain OR .

Klausa WHERE yang dibuat oleh Desainer Kueri dan Tampilan setara dengan klausul berikutWHERE, yang menggunakan tanda kurung untuk menentukan prioritas lebih ANDdari OR :

WHERE (job_lvl = 100 OR status = 'R') AND
   (hire_date < '01/01/91')

Nota

Jika Anda memasukkan kondisi pencarian dalam format yang diperlihatkan tepat di atas di Panel SQL (Alat Database Visual), tetapi kemudian buat perubahan pada kueri di panel Diagram atau Kriteria, Desainer Kueri dan Tampilan membuat ulang pernyataan SQL agar sesuai dengan formulir dengan AND kondisi yang didistribusikan secara eksplisit ke kedua OR kondisi.