blob: 3e286a85bcf4cca0586d26752f4686ad1e98f06c [file] [log] [blame]
# 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