1
# Test Routine for JOIN operations in BlitzDB
4
drop table if exists t1, t2;
7
# Simple JOIN syntax - Unindexed
8
create table t1 (a int) engine = blitzdb;
9
create table t2 (a int) engine = blitzdb;
11
insert into t1 values (1), (2), (3);
12
insert into t2 values (1), (4), (8);
14
select * from t1 JOIN t2 where t1.a = t2.a;
15
select * from t1 LEFT JOIN t2 on t1.a = t2.a;
16
select * from t1 RIGHT JOIN t2 on t1.a = t2.a;
17
select * from t1 UNION select * from t2;
20
# Simple Expensive Multi Table JOIN - Unindexed
21
create table t1 (id int, name varchar(32)) engine = blitzdb;
22
create table t2 (id int, job_id int) engine = blitzdb;
23
create table t3 (job_id int, job_name varchar(32)) engine = blitzdb;
25
insert into t1 values (1, 'Alex');
26
insert into t1 values (2, 'Bob');
27
insert into t1 values (3, 'Curt');
28
insert into t1 values (4, 'Dan');
29
insert into t1 values (5, 'Edgar');
31
insert into t2 values (1, 1);
32
insert into t2 values (2, 1);
33
insert into t2 values (3, 3);
34
insert into t2 values (4, 2);
35
insert into t2 values (5, 4);
37
insert into t3 values (1, 'Software Engineer');
38
insert into t3 values (2, 'Civil Engineer');
39
insert into t3 values (3, 'Electrical Engineer');
40
insert into t3 values (4, 'Mechanical Engineer');
47
(t1.id = t2.id and t2.job_id = t3.job_id);
53
t1 right join (t2, t3)
55
(t1.id = t2.id and t2.job_id = t3.job_id);
58
delete from t3 where job_id = 4;
65
(t1.id = t2.id and t2.job_id = t3.job_id);
73
(t1.id = t2.id and t2.job_id = t3.job_id);
75
drop table t1, t2, t3;