primary-null.test 3.5 KB
Newer Older
羽飞's avatar
羽飞 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
-- echo initialization
CREATE TABLE null_table(id int, num int nullable, price float not null, birthday date nullable);
CREATE TABLE null_table2(id int, num int nullable, price float not null, birthday date nullable);
CREATE INDEX index_num on null_table(num);

-- echo 1. insert
INSERT INTO null_table VALUES (1, 18, 10.0, '2020-01-01');
INSERT INTO null_table VALUES (2, null, 20.0, '2010-01-11');
INSERT INTO null_table VALUES (3, 12, 30.0, null);
INSERT INTO null_table VALUES (4, 15, 30.0, '2021-01-31');
INSERT INTO null_table2 VALUES (1, 18, 30.0, '2021-01-31');
INSERT INTO null_table2 VALUES (2, null, 40.0, null);

INSERT INTO null_table VALUES (5, 15, null, '2021-01-31');
INSERT INTO null_table VALUES (null, 15, 30.0, '2021-01-31');

-- echo 2. SELECT
-- sort SELECT * FROM null_table;

-- echo 3. SELECT WITH CONSTANT
-- sort SELECT * FROM null_table where 1 is null;
-- sort SELECT * FROM null_table where 1 is not null;
-- sort SELECT * FROM null_table where null=1;
-- sort SELECT * FROM null_table where 1=null;
-- sort SELECT * FROM null_table where 1<>null;
-- sort SELECT * FROM null_table where 1<null;
-- sort SELECT * FROM null_table where 1>null;

-- sort SELECT * FROM null_table where null is null;
-- sort SELECT * FROM null_table where null is not null;
-- sort SELECT * FROM null_table WHERE null=null;
-- sort SELECT * FROM null_table WHERE null<>null;
-- sort SELECT * FROM null_table WHERE null>null;
-- sort SELECT * FROM null_table WHERE null<null;

-- sort SELECT * FROM null_table where 'a' is null;
-- sort SELECT * FROM null_table where 'a' is not null;
-- sort SELECT * FROM null_table WHERE null='a';
-- sort SELECT * FROM null_table WHERE 'a'=null;
-- sort SELECT * FROM null_table WHERE 'a'<>null;
-- sort SELECT * FROM null_table WHERE 'a'>null;
-- sort SELECT * FROM null_table WHERE 'a'<null;

-- sort SELECT * FROM null_table where '2021-01-31' is null;
-- sort SELECT * FROM null_table where '2021-01-31' is not null;
-- sort SELECT * FROM null_table WHERE null='2021-01-31';
-- sort SELECT * FROM null_table WHERE '2021-01-31'=null;
-- sort SELECT * FROM null_table WHERE '2021-01-31'>null;
-- sort SELECT * FROM null_table WHERE '2021-01-31'<null;

-- echo 4. SELECT WITH COLUMN
-- sort SELECT * FROM null_table where birthday is not null;
-- sort SELECT * FROM null_table where birthday is null;
-- sort SELECT * FROM null_table where birthday = null;
-- sort SELECT * FROM null_table where null = birthday;
-- sort SELECT * FROM null_table where birthday <> null;
-- sort SELECT * FROM null_table where birthday > null;
-- sort SELECT * FROM null_table where birthday < null;

-- sort SELECT * FROM null_table where num is not null;
-- sort SELECT * FROM null_table where num is null;
-- sort SELECT * FROM null_table where num = null;
-- sort SELECT * FROM null_table where null = num;
-- sort SELECT * FROM null_table where num <> null;
-- sort SELECT * FROM null_table where num > null;
-- sort SELECT * FROM null_table where num < null;

-- sort SELECT null_table.num,null_table2.num,null_table.birthday FROM null_table,null_table2 where null_table.num=null_table2.num;

-- echo 5. aggregation
SELECT count(*) FROM null_table;
SELECT count(price) FROM null_table;
SELECT count(birthday) FROM null_table;
SELECT avg(num) FROM null_table;

-- echo 6. aggregation with null columns
CREATE TABLE null_table3(id int, num int nullable);
INSERT INTO null_table3 VALUES (1, null);
INSERT INTO null_table3 VALUES (2, null);
SELECT count(num) FROM null_table3;
SELECT min(num) FROM null_table3;
SELECT max(num) FROM null_table3;
SELECT avg(num) FROM null_table3;