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

Tại sao truy vấn không bị lỗi với cột không tồn tại trong truy vấn con?

Truy vấn này:

select sum(amount)
from aaa
where id not in (select id from bbb);

Được hiểu là:

select sum(aaa.amount)
from aaa
where aaa.id not in (select aaa.id from bbb);

bởi vì bbb.id không tồn tại. Khi viết SQL, tôi khuyên bạn nên luôn sử dụng bí danh bảng. Truy vấn mà bạn nghĩ rằng bạn đang viết:

select sum(aaa.amount)
from aaa
where aaa.id not in (select bbb.id from bbb);

sẽ tạo ra lỗi mà bạn mong đợ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. Chuyển đổi trang web PHP / MYSQL / hiện có sang ứng dụng iOS / Android gốc

  2. Chọn bằng cách sử dụng tên bảng được tạo động

  3. Bảng tham gia Mysql

  4. Mật khẩu được chỉ định cho tài khoản người dùng 'root' không hợp lệ hoặc không kết nối được với máy chủ cơ sở dữ liệu

  5. Điền JFreechart TimeSeriesCollection từ Mysql DB?