oceanbase
1set @@recyclebin = off;
2drop table if exists t1,t2,t3,t4;
3create table t1(pk1 int, pk2 int, pk3 int, extra int, d int primary key);
4insert into t1(pk1,pk2,pk3,d) values(1,1,1,1),(2,2,2,2);
5select * from t1;
6pk1 pk2 pk3 extra d
71 1 1 NULL 1
82 2 2 NULL 2
9insert into t1 values(3,null,null,NULL,3),(null,null,null,null,4);
10select * from t1;
11pk1 pk2 pk3 extra d
121 1 1 NULL 1
132 2 2 NULL 2
143 NULL NULL NULL 3
15NULL NULL NULL NULL 4
16select * from t1 where extra = NULL;
17pk1 pk2 pk3 extra d
18select * from t1 where extra != NULL;
19pk1 pk2 pk3 extra d
20select * from t1 where extra <=> null;
21pk1 pk2 pk3 extra d
221 1 1 NULL 1
232 2 2 NULL 2
243 NULL NULL NULL 3
25NULL NULL NULL NULL 4
26select * from t1 where extra is not NULL;
27pk1 pk2 pk3 extra d
28select * from t1 where pk1 <=> null and pk2 <=> null and pk3 <=> null;
29pk1 pk2 pk3 extra d
30NULL NULL NULL NULL 4
31select * from t1 where pk1 = NULL and pk3 = NULL and pk3 = NULL;
32pk1 pk2 pk3 extra d
33select * from t1 where pk1 != NULL and pk2 != NULL and pk3 != NULL;
34pk1 pk2 pk3 extra d
35select * from t1 where pk1 is not NULL and pk2 is not NULL and pk3 is not NULL;
36pk1 pk2 pk3 extra d
371 1 1 NULL 1
382 2 2 NULL 2
39select * from t1 where pk1 in (NULL) and pk2 in (NULL) and pk3 in (NULL);
40pk1 pk2 pk3 extra d
41select * from t1 where pk1 in (NULL,1) and pk2 in (NULL, 1);
42pk1 pk2 pk3 extra d
431 1 1 NULL 1
44update t1 set extra=4 where pk1 = NULL and pk2 = NULL and pk3 = NULL;
45select * from t1;
46pk1 pk2 pk3 extra d
471 1 1 NULL 1
482 2 2 NULL 2
493 NULL NULL NULL 3
50NULL NULL NULL NULL 4
51update t1 set extra=1 where pk1 <=> null;
52select * from t1;
53pk1 pk2 pk3 extra d
541 1 1 NULL 1
552 2 2 NULL 2
563 NULL NULL NULL 3
57NULL NULL NULL 1 4
58update t1 set extra=2 where pk1 <=> null and pk2 <=> null and pk3 <=> null;
59select * from t1;
60pk1 pk2 pk3 extra d
611 1 1 NULL 1
622 2 2 NULL 2
633 NULL NULL NULL 3
64NULL NULL NULL 2 4
65update t1 set extra=3 where pk1 is not NULL;
66select * from t1;
67pk1 pk2 pk3 extra d
681 1 1 3 1
692 2 2 3 2
703 NULL NULL 3 3
71NULL NULL NULL 2 4
72update t1 set extra=4 where pk1 is not NULL and pk2 is not NULL and pk3 is not NULL;
73select * from t1;
74pk1 pk2 pk3 extra d
751 1 1 4 1
762 2 2 4 2
773 NULL NULL 3 3
78NULL NULL NULL 2 4
79update t1 set extra=5 where pk1 != NULL;
80select * from t1;
81pk1 pk2 pk3 extra d
821 1 1 4 1
832 2 2 4 2
843 NULL NULL 3 3
85NULL NULL NULL 2 4
86update t1 set extra=6 where pk1 != NULL and pk2 != NULL and pk3 != NULL;
87select * from t1;
88pk1 pk2 pk3 extra d
891 1 1 4 1
902 2 2 4 2
913 NULL NULL 3 3
92NULL NULL NULL 2 4
93delete from t1 where pk1 != NULL;
94select * from t1;
95pk1 pk2 pk3 extra d
961 1 1 4 1
972 2 2 4 2
983 NULL NULL 3 3
99NULL NULL NULL 2 4
100delete from t1 where pk1 != NULL and pk2 != NULL and pk3 != NULL;
101select * from t1;
102pk1 pk2 pk3 extra d
1031 1 1 4 1
1042 2 2 4 2
1053 NULL NULL 3 3
106NULL NULL NULL 2 4
107delete from t1 where pk1 = NULL and pk2 = NULL and pk3 = NULL;
108select * from t1;
109pk1 pk2 pk3 extra d
1101 1 1 4 1
1112 2 2 4 2
1123 NULL NULL 3 3
113NULL NULL NULL 2 4
114delete from t1 where pk1 <=> null;
115select * from t1;
116pk1 pk2 pk3 extra d
1171 1 1 4 1
1182 2 2 4 2
1193 NULL NULL 3 3
120delete from t1 where pk1 <=> null and pk2 <=> null and pk3 <=> null;
121select * from t1;
122pk1 pk2 pk3 extra d
1231 1 1 4 1
1242 2 2 4 2
1253 NULL NULL 3 3
126delete from t1 where pk1 is not NULL and pk2 is not NULL and pk3 is not NULL;
127select * from t1;
128pk1 pk2 pk3 extra d
1293 NULL NULL 3 3
130delete from t1 where pk1 is not NULL;
131select * from t1;
132pk1 pk2 pk3 extra d
133set @@recyclebin = off;
134drop table t1;
135