Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

truy vấn oracle với một số điều kiện lọc

Bạn có thể nén nó (một chút) bằng:

SELECT *                                       --- irrelevant to the question:
FROM table1 JOIN table2                        --- use the explicit JOIN syntax
             ON table1.id1 = table2.id2        --- not the implicit join with the
---table1,table2 where table1.id1 = table2.id2 --- WHERE syntax (removed)
WHERE
--- filters
  AND (table1.col2, table2.col2) IN
        (  ('value_11', 'value_21'),
           ('value_12', 'value_22'),
           ('value_13', 'value_23'),
           ...
           (value_1100, value_2200)
        ) 

Nếu bạn có các điều kiện lọc này trong một bảng, bạn thậm chí có thể thực hiện nó:

  AND (table1.col2, table2.col2) IN
        (  SELECT filter1, filter2
           FROM filter_table
        )



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để chỉ định dạng những bản ghi mà ORA-01843 không được ném?

  2. Tách chuỗi được phân tách bằng dấu phẩy trong một chương trình được lưu trữ PL / SQL

  3. quản lý hàng lịch sử trong cơ sở dữ liệu

  4. Chuyển đổi từ ANSI sang Oracle Tham gia Cú pháp

  5. PLSQL - Chèn vào trình kích hoạt gây ra vòng lặp đệ quy