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

Oracle SQL - Mệnh đề IN hiển thị tất cả bản ghi được đưa ra trong điều kiện IN ngay cả khi dữ liệu không có trong bảng

Bạn cần một bảng dẫn xuất có chứa tất cả các khả năng. Hoặc bạn có một cái, chẳng hạn như bảng thành phố và sau đó bạn có thể làm:

SELECT t.customer_id,s.city
FROM city_table s
LEFT JOIN customer t
 ON(s.id = t.city) 
WHERE s.city IN ('abc', 'def', 'ghi')

Hoặc tạo ra các giá trị của chính bạn:

SELECT t.customer_id,s.city
FROM (SELECT 'abc' as id FROM DUAL
      UNION ALL 
      SELECT 'def' FROM DUAL
      UNION ALL
      SELECT 'ghi' FROM DUAL) s
LEFT JOIN customer t
 ON(s.id = t.city) 
WHERE s.id IN('abc', 'def', 'ghi')



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Siêu dữ liệu liên quan đến các loại bản ghi cấp gói PL / SQL

  2. nhận định dạng ngày thích hợp từ kết quả tìm kiếm SQL (datetime.datetime)

  3. Thay đổi mật khẩu SYS trong RAC

  4. Xóa các thẻ HTML đơn giản khỏi Chuỗi trong Oracle thông qua RegExp, Cần giải thích

  5. cách xác thực kiểu dữ liệu số nguyên trong thủ tục oracle