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

Mệnh đề 'in' hoạt động như thế nào trong oracle

Đúng (nhưng lưu ý rằng IN là một toán tử, không phải là một mệnh đề và nó hoạt động như thế này trong SQL nói chung, không chỉ cho Oracle).

where 1 not in (null,1)

tương đương với:

where 1 != null and 1 != 1

mà thực sự nên được viết là:

WHERE 1 NOT IN (NULL, 1)

WHERE 1 <> NULL AND 1 <> 1

giống như:

WHERE (1 <> NULL) AND (1 <> 1)

đánh giá là:

WHERE UNKNOWN AND FALSE

và xa hơn như:

WHERE FALSE

Vì vậy, nó chính xác không trả về hàng nào.

Lưu ý rằng nếu bạn có WHERE 1 NOT IN (NULL, 2) , nó sẽ đánh giá thành WHERE UNKNOWN (để lại như một bài tập) và cũng không có hàng nào được trả lại.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách cài đặt máy khách SQL * PLUS trong Linux

  2. Thêm khóa chính tăng tự động vào bảng hiện có trong oracle

  3. Kích hoạt để thực thi mối quan hệ M-M

  4. Tiện ích:Tạo thủ tục PL / SQL để xuất dữ liệu từ bảng trong 2 phút

  5. Hàm MOD () trong Oracle