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;