我正在使用什么: Ubuntu 12 上的最新 MySQL。
设置:假设我有一个表“EmployeePayment”,其中包含每个员工的“Name”和“Hours”。假设我已经用值填充了它。
问题: 当我使用命令时
select * from EmployeePayment where Name in ('');
正如我所料,我得到了空集。但是,当我使用
select * from EmployeePayment where Name in ('' or '');
我把整个桌子都退回了。此外,如果我很挑剔并输入命令
select Name, SUM(Hours) from EmployeePayment where Name in ('' or '');
然后它只返回表中的最高名称。这个“in”命令发生了什么?