drop table if exists t1, test1, test2; CREATE TABLE t1 ( a int unsigned NOT NULL PRIMARY KEY, b int unsigned not null, c int unsigned, KEY(b) ) engine=ndbcluster; insert t1 values(1, 2, 3), (2,3, 5), (3, 4, 6), (4, 5, 8), (5,6, 2), (6,7, 2); select * from t1 order by b; a b c 1 2 3 2 3 5 3 4 6 4 5 8 5 6 2 6 7 2 select * from t1 where b >= 4 order by b; a b c 3 4 6 4 5 8 5 6 2 6 7 2 select * from t1 where b = 4 order by b; a b c 3 4 6 select * from t1 where b > 4 order by b; a b c 4 5 8 5 6 2 6 7 2 select * from t1 where b < 4 order by b; a b c 1 2 3 2 3 5 select * from t1 where b <= 4 order by b; a b c 1 2 3 2 3 5 3 4 6 select tt1.* from t1 as tt1, t1 as tt2 use index(b) where tt1.b = tt2.b order by tt1.b; a b c 1 2 3 2 3 5 3 4 6 4 5 8 5 6 2 6 7 2 select a, b, c from t1 where a!=2 and c=6; a b c 3 4 6 select a, b, c from t1 where a!=2 order by a; a b c 1 2 3 3 4 6 4 5 8 5 6 2 6 7 2 update t1 set c = 3 where b = 3; select * from t1 order by a; a b c 1 2 3 2 3 3 3 4 6 4 5 8 5 6 2 6 7 2 update t1 set c = 10 where b >= 6; select * from t1 order by a; a b c 1 2 3 2 3 3 3 4 6 4 5 8 5 6 10 6 7 10 update t1 set c = 11 where b < 5; select * from t1 order by a; a b c 1 2 11 2 3 11 3 4 11 4 5 8 5 6 10 6 7 10 update t1 set c = 12 where b > 0; select * from t1 order by a; a b c 1 2 12 2 3 12 3 4 12 4 5 12 5 6 12 6 7 12 update t1 set c = 13 where b <= 3; select * from t1 order by a; a b c 1 2 13 2 3 13 3 4 12 4 5 12 5 6 12 6 7 12 update t1 set b = b + 1 where b > 4 and b < 7; select * from t1 order by a; a b c 1 2 13 2 3 13 3 4 12 4 6 12 5 7 12 6 7 12 update t1 set a = a + 10 where b > 1 and b < 7; select * from t1 order by a; a b c 5 7 12 6 7 12 11 2 13 12 3 13 13 4 12 14 6 12 drop table t1; CREATE TABLE t1 ( a int unsigned NOT NULL PRIMARY KEY, b int unsigned not null, c int unsigned, KEY(b) ) engine=ndbcluster; insert t1 values(1, 2, 13), (2,3, 13), (3, 4, 12), (4, 5, 12), (5,6, 12), (6,7, 12); delete from t1 where b = 3; select * from t1 order by a; a b c 1 2 13 3 4 12 4 5 12 5 6 12 6 7 12 delete from t1 where b >= 6; select * from t1 order by a; a b c 1 2 13 3 4 12 4 5 12 delete from t1 where b < 4; select * from t1 order by a; a b c 3 4 12 4 5 12 delete from t1 where b > 5; select * from t1 order by a; a b c 3 4 12 4 5 12 delete from t1 where b <= 4; select * from t1 order by a; a b c 4 5 12 drop table t1; CREATE TABLE t1 ( a int unsigned NOT NULL PRIMARY KEY, b int unsigned not null, c int unsigned not null ) engine = ndb; create index a1 on t1 (b, c); insert into t1 values (1, 2, 13); insert into t1 values (2,3, 13); insert into t1 values (3, 4, 12); insert into t1 values (4, 5, 12); insert into t1 values (5,6, 12); insert into t1 values (6,7, 12); insert into t1 values (7, 2, 1); insert into t1 values (8,3, 6); insert into t1 values (9, 4, 12); insert into t1 values (14, 5, 4); insert into t1 values (15,5,5); insert into t1 values (16,5, 6); insert into t1 values (17,4,4); insert into t1 values (18,1, 7); select * from t1 order by a; a b c 1 2 13 2 3 13 3 4 12 4 5 12 5 6 12 6 7 12 7 2 1 8 3 6 9 4 12 14 5 4 15 5 5 16 5 6 17 4 4 18 1 7 select * from t1 where b<=5 order by a; a b c 1 2 13 2 3 13 3 4 12 4 5 12 7 2 1 8 3 6 9 4 12 14 5 4 15 5 5 16 5 6 17 4 4 18 1 7 select * from t1 where b<=5 and c=0; a b c insert into t1 values (19,4, 0); select * from t1 where b<=5 and c=0; a b c 19 4 0 select * from t1 where b=4 and c<=5 order by a; a b c 17 4 4 19 4 0 select * from t1 where b<=4 and c<=5 order by a; a b c 7 2 1 17 4 4 19 4 0 select * from t1 where b<=5 and c=0 or b<=5 and c=2; a b c 19 4 0 select count(*) from t1 where b = 0; count(*) 0 select count(*) from t1 where b = 1; count(*) 1 drop table t1; CREATE TABLE t1 ( a int unsigned NOT NULL PRIMARY KEY, b int unsigned, c int unsigned, KEY bc(b,c) ) engine = ndb; insert into t1 values(1,1,1),(2,NULL,2),(3,NULL,NULL),(4,4,NULL); select * from t1 use index (bc) where b IS NULL order by a; a b c 2 NULL 2 3 NULL NULL select * from t1 use index (bc)order by a; a b c 1 1 1 2 NULL 2 3 NULL NULL 4 4 NULL select * from t1 use index (bc) order by a; a b c 1 1 1 2 NULL 2 3 NULL NULL 4 4 NULL select * from t1 use index (PRIMARY) where b IS NULL order by a; a b c 2 NULL 2 3 NULL NULL select * from t1 use index (bc) where b IS NULL order by a; a b c 2 NULL 2 3 NULL NULL select * from t1 use index (bc) where b IS NULL and c IS NULL order by a; a b c 3 NULL NULL select * from t1 use index (bc) where b IS NULL and c = 2 order by a; a b c 2 NULL 2 select * from t1 use index (bc) where b < 4 order by a; a b c 1 1 1 select * from t1 use index (bc) where b IS NOT NULL order by a; a b c 1 1 1 4 4 NULL drop table t1; CREATE TABLE test1 ( SubscrID int(11) NOT NULL auto_increment, UsrID int(11) NOT NULL default '0', PRIMARY KEY (SubscrID), KEY idx_usrid (UsrID) ) ENGINE=ndbcluster DEFAULT CHARSET=latin1; INSERT INTO test1 VALUES (2,224),(3,224),(1,224); CREATE TABLE test2 ( SbclID int(11) NOT NULL auto_increment, SbcrID int(11) NOT NULL default '0', PRIMARY KEY (SbclID), KEY idx_sbcrid (SbcrID) ) ENGINE=ndbcluster DEFAULT CHARSET=latin1; INSERT INTO test2 VALUES (3,2),(1,1),(2,1),(4,2); select * from test1 order by 1; SubscrID UsrID 1 224 2 224 3 224 select * from test2 order by 1; SbclID SbcrID 1 1 2 1 3 2 4 2 SELECT s.SubscrID,l.SbclID FROM test1 s left JOIN test2 l ON l.SbcrID=s.SubscrID WHERE s.UsrID=224 order by 1, 2; SubscrID SbclID 1 1 1 2 2 3 2 4 3 NULL drop table test1; drop table test2;