| # name: test/sql/function/operator/test_conjunction.test |
| # description: Test conjunction statements |
| # group: [operator] |
| |
| # create table |
| statement ok |
| CREATE TABLE a (i integer, j integer); |
| |
| statement ok |
| INSERT INTO a VALUES (3, 4), (4, 5), (5, 6) |
| |
| query II |
| SELECT * FROM a WHERE (i > 3 AND j < 5) OR (i > 3 AND j > 5) |
| ---- |
| 5 6 |
| |
| # test boolean logic in conjunctions |
| query T |
| SELECT true AND true |
| ---- |
| true |
| |
| query T |
| SELECT true AND false |
| ---- |
| false |
| |
| query T |
| SELECT false AND true |
| ---- |
| false |
| |
| query T |
| SELECT false AND false |
| ---- |
| false |
| |
| query T |
| SELECT false AND NULL |
| ---- |
| false |
| |
| query T |
| SELECT NULL AND false |
| ---- |
| false |
| |
| query T |
| SELECT NULL AND true |
| ---- |
| NULL |
| |
| query T |
| SELECT true AND NULL |
| ---- |
| NULL |
| |
| query T |
| SELECT true OR true |
| ---- |
| true |
| |
| query T |
| SELECT true OR NULL |
| ---- |
| true |
| |
| query T |
| SELECT NULL OR true |
| ---- |
| true |
| |
| query T |
| SELECT false OR NULL |
| ---- |
| NULL |
| |
| query T |
| SELECT NULL OR false |
| ---- |
| NULL |
| |
| query T |
| SELECT true OR false |
| ---- |
| true |
| |
| query T |
| SELECT false OR true |
| ---- |
| true |
| |
| query T |
| SELECT false OR false |
| ---- |
| false |
| |
| # test single constant in conjunctions |
| query T |
| SELECT true AND i>3 FROM a ORDER BY i |
| ---- |
| false |
| true |
| true |
| |
| query T |
| SELECT i>3 AND true FROM a ORDER BY i |
| ---- |
| false |
| true |
| true |
| |
| query T |
| SELECT 2>3 AND i>3 FROM a ORDER BY i |
| ---- |
| false |
| false |
| false |
| |
| query T |
| SELECT false AND i>3 FROM a ORDER BY i |
| ---- |
| false |
| false |
| false |
| |
| query T |
| SELECT i>3 AND false FROM a ORDER BY i |
| ---- |
| false |
| false |
| false |
| |
| query T |
| SELECT false OR i>3 FROM a ORDER BY i |
| ---- |
| false |
| true |
| true |
| |
| query T |
| SELECT i>3 OR false FROM a ORDER BY i |
| ---- |
| false |
| true |
| true |
| |
| query T |
| SELECT true OR i>3 FROM a ORDER BY i |
| ---- |
| true |
| true |
| true |
| |
| query T |
| SELECT i>3 OR true FROM a ORDER BY i |
| ---- |
| true |
| true |
| true |
| |
| query T |
| SELECT NULL OR i>3 FROM a ORDER BY i |
| ---- |
| NULL |
| true |
| true |
| |
| query T |
| SELECT i>3 OR NULL FROM a ORDER BY i |
| ---- |
| NULL |
| true |
| true |
| |
| query T |
| SELECT NULL AND i>3 FROM a ORDER BY i |
| ---- |
| false |
| NULL |
| NULL |
| |
| query T |
| SELECT i>3 AND NULL FROM a ORDER BY i |
| ---- |
| false |
| NULL |
| NULL |
| |