使用しているもの: Ubuntu 12 上の最新の MySQL。
セットアップ: 各従業員の「名前」と「時間」を含むテーブル「EmployeePayment」があるとします。すでに値が入力されているとします。
質問: コマンドを使用する場合
select * from EmployeePayment where Name in ('');
期待どおり、空のセットを取得します。しかし、私が使用するとき
select * from EmployeePayment where Name in ('' or '');
テーブル全体が返されます。さらに、私がうるさいとコマンドを入力すると
select Name, SUM(Hours) from EmployeePayment where Name in ('' or '');
次に、テーブルの最上位の名前だけを返します。この「in」コマンドで何が起こっているのでしょうか?