SELECT'multiple sets IN empty set OR IN non-empty set',count()FROM(SELECTnumberFROMsystem.numbersLIMIT10)WHEREnumberIN(SELECTtoUInt64(1)WHERE0)ORnumberIN(SELECTtoUInt64(1)WHERE1);
SELECT'multiple sets IN empty set OR NOT IN non-empty set',count()FROM(SELECTnumberFROMsystem.numbersLIMIT10)WHEREnumberIN(SELECTtoUInt64(1)WHERE0)ORnumberNOTIN(SELECTtoUInt64(1)WHERE1);
SELECT'multiple sets NOT IN empty set AND IN non-empty set',count()FROM(SELECTnumberFROMsystem.numbersLIMIT10)WHEREnumberNOTIN(SELECTtoUInt64(1)WHERE0)ANDnumberIN(SELECTtoUInt64(1)WHERE1);
SELECT'multiple sets INNER JOIN empty set AND IN empty set',count()FROMsystem.numbersINNERJOIN(SELECTtoUInt64(1)ASxWHERE0)ONsystem.numbers.number=xWHEREsystem.numbers.numberIN(SELECTtoUInt64(1)WHERE0);
SELECT'multiple sets INNER JOIN empty set AND IN non-empty set',count()FROM(SELECTnumberFROMsystem.numbersLIMIT10)t1INNERJOIN(SELECTtoUInt64(1)ASxWHERE0)ONt1.number=xWHEREt1.numberIN(SELECTtoUInt64(1)WHERE1);
SELECT'multiple sets INNER JOIN non-empty set AND IN non-empty set',count()FROM(SELECTnumberFROMsystem.numbersLIMIT10)t1INNERJOIN(SELECTtoUInt64(1)ASxWHERE1)ONt1.number=xWHEREt1.numberIN(SELECTtoUInt64(1)WHERE1);