~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/r/pbxt/join_nested.result

  • Committer: lbieber
  • Date: 2010-09-22 13:48:54 UTC
  • mfrom: (1784.1.3 build)
  • Revision ID: lbieber@orisndriz08-20100922134854-y7mae2taqhn73vsx
Merge Paul M. - latest changes from PBXT 1.0.11-7
Merge Paul M. - fix bug 641038 - pbxt rollback not working (tables reported as non-transactional)
Merge Andrew - fix show stoppers for new drizzledump

Show diffs side-by-side

added added

removed removed

Lines of Context:
39
39
FROM t3,t4;
40
40
a       b       a       b
41
41
1       2       3       2
 
42
1       2       4       2
42
43
2       2       3       2
43
 
1       2       4       2
44
44
2       2       4       2
45
45
SELECT t2.a,t2.b,t3.a,t3.b,t4.a,t4.b
46
46
FROM t2
108
108
SELECT t3.a,t3.b,t4.a,t4.b,t5.a,t5.b
109
109
FROM t3,t4,t5;
110
110
a       b       a       b       a       b
 
111
1       2       3       2       2       2
111
112
1       2       3       2       3       1
112
 
2       2       3       2       3       1
 
113
1       2       3       2       3       3
 
114
1       2       4       2       2       2
113
115
1       2       4       2       3       1
114
 
2       2       4       2       3       1
115
 
1       2       3       2       2       2
 
116
1       2       4       2       3       3
116
117
2       2       3       2       2       2
117
 
1       2       4       2       2       2
118
 
2       2       4       2       2       2
119
 
1       2       3       2       3       3
 
118
2       2       3       2       3       1
120
119
2       2       3       2       3       3
121
 
1       2       4       2       3       3
 
120
2       2       4       2       2       2
 
121
2       2       4       2       3       1
122
122
2       2       4       2       3       3
123
123
SELECT t2.a,t2.b,t3.a,t3.b,t4.a,t4.b,t5.a,t5.b
124
124
FROM t2
212
212
a       b       a       b
213
213
3       2       1       1
214
214
3       2       2       2
 
215
6       1       1       1
 
216
6       1       2       2
215
217
6       2       1       1
216
218
6       2       2       2
217
 
6       1       1       1
218
 
6       1       2       2
219
219
SELECT t8.a,t8.b
220
220
FROM t8;
221
221
a       b
228
228
t8
229
229
ON t7.b=t8.b AND t6.b < 10;
230
230
id      select_type     table   type    possible_keys   key     key_len ref     rows    filtered        Extra
231
 
1       SIMPLE  t7      ALL     NULL    NULL    NULL    NULL    2       100.00  
232
231
1       SIMPLE  t6      ALL     NULL    NULL    NULL    NULL    3       100.00  Using join buffer
 
232
1       SIMPLE  t7      ALL     NULL    NULL    NULL    NULL    2       100.00  
233
233
1       SIMPLE  t8      ALL     NULL    NULL    NULL    NULL    2       100.00  
234
 
Warnings:
235
234
Note    1003    select `test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS `b` from `test`.`t6` join `test`.`t7` left join `test`.`t8` on(((`test`.`t7`.`b` = `test`.`t8`.`b`) and (`test`.`t6`.`b` < 10))) where 1
 
235
Warnings:
236
236
SELECT t6.a,t6.b,t7.a,t7.b,t8.a,t8.b
237
237
FROM (t6, t7)
238
238
LEFT JOIN 
361
361
WHERE t2.a > 3 AND
362
362
(t6.a < 6 OR t6.c IS NULL);
363
363
a       b       a       b       a       b       a       b       a       b       a       b       a       b
364
 
4       2       1       2       3       2       3       1       3       2       1       1       NULL    NULL
365
 
4       2       1       2       4       2       3       1       3       2       1       1       NULL    NULL
366
 
5       3       NULL    NULL    NULL    NULL    3       1       3       2       1       1       NULL    NULL
367
364
4       2       1       2       3       2       2       2       3       2       2       2       0       2
368
365
4       2       1       2       3       2       2       2       3       2       2       2       1       2
 
366
4       2       1       2       3       2       3       1       3       2       1       1       NULL    NULL
 
367
4       2       1       2       3       2       3       3       NULL    NULL    NULL    NULL    NULL    NULL
369
368
4       2       1       2       4       2       2       2       3       2       2       2       0       2
370
369
4       2       1       2       4       2       2       2       3       2       2       2       1       2
 
370
4       2       1       2       4       2       3       1       3       2       1       1       NULL    NULL
 
371
4       2       1       2       4       2       3       3       NULL    NULL    NULL    NULL    NULL    NULL
371
372
5       3       NULL    NULL    NULL    NULL    2       2       3       2       2       2       0       2
372
373
5       3       NULL    NULL    NULL    NULL    2       2       3       2       2       2       1       2
373
 
4       2       1       2       3       2       3       3       NULL    NULL    NULL    NULL    NULL    NULL
374
 
4       2       1       2       4       2       3       3       NULL    NULL    NULL    NULL    NULL    NULL
 
374
5       3       NULL    NULL    NULL    NULL    3       1       3       2       1       1       NULL    NULL
375
375
5       3       NULL    NULL    NULL    NULL    3       3       NULL    NULL    NULL    NULL    NULL    NULL
376
376
SELECT t1.a,t1.b
377
377
FROM t1;
644
644
1       SIMPLE  t3      ALL     NULL    NULL    NULL    NULL    2       100.00  Using where
645
645
1       SIMPLE  t4      ALL     NULL    NULL    NULL    NULL    2       100.00  Using where
646
646
1       SIMPLE  t5      ALL     NULL    NULL    NULL    NULL    3       100.00  Using where
 
647
1       SIMPLE  t6      ALL     NULL    NULL    NULL    NULL    3       100.00  Using where
647
648
1       SIMPLE  t7      ALL     NULL    NULL    NULL    NULL    2       100.00  Using where
648
 
1       SIMPLE  t6      ALL     NULL    NULL    NULL    NULL    3       100.00  Using where
649
649
1       SIMPLE  t8      ALL     NULL    NULL    NULL    NULL    2       100.00  Using where
650
650
1       SIMPLE  t9      ALL     NULL    NULL    NULL    NULL    3       100.00  Using where; Using join buffer
 
651
Note    1003    select `test`.`t0`.`a` AS `a`,`test`.`t0`.`b` AS `b`,`test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b`,`test`.`t5`.`a` AS `a`,`test`.`t5`.`b` AS `b`,`test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS `b`,`test`.`t9`.`a` AS `a`,`test`.`t9`.`b` AS `b` from `test`.`t0` join `test`.`t1` left join (`test`.`t2` left join (`test`.`t3` join `test`.`t4`) on(((`test`.`t4`.`b` = `test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) join `test`.`t5` left join (`test`.`t6` join `test`.`t7` left join `test`.`t8` on(((`test`.`t8`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` < 10)))) on(((`test`.`t7`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` >= 2)))) on((((`test`.`t3`.`b` = 2) or isnull(`test`.`t3`.`c`)) and ((`test`.`t6`.`b` = 2) or isnull(`test`.`t6`.`c`)) and ((`test`.`t5`.`b` = `test`.`t0`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t6`.`c`) or isnull(`test`.`t8`.`c`)) and (`test`.`t1`.`a` <> 2))) join `test`.`t9` where ((`test`.`t9`.`a` = 1) and (`test`.`t1`.`b` = `test`.`t0`.`b`) and (`test`.`t0`.`a` = 1) and ((`test`.`t2`.`a` >= 4) or isnull(`test`.`t2`.`c`)) and ((`test`.`t3`.`a` < 5) or isnull(`test`.`t3`.`c`)) and ((`test`.`t4`.`b` = `test`.`t3`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t4`.`c`)) and ((`test`.`t5`.`a` >= 2) or isnull(`test`.`t5`.`c`)) and ((`test`.`t6`.`a` >= 4) or isnull(`test`.`t6`.`c`)) and ((`test`.`t7`.`a` <= 2) or isnull(`test`.`t7`.`c`)) and ((`test`.`t8`.`a` < 1) or isnull(`test`.`t8`.`c`)) and ((`test`.`t9`.`b` = `test`.`t8`.`b`) or isnull(`test`.`t8`.`c`)))
651
652
Warnings:
652
 
Note    1003    select `test`.`t0`.`a` AS `a`,`test`.`t0`.`b` AS `b`,`test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b`,`test`.`t5`.`a` AS `a`,`test`.`t5`.`b` AS `b`,`test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS `b`,`test`.`t9`.`a` AS `a`,`test`.`t9`.`b` AS `b` from `test`.`t0` join `test`.`t1` left join (`test`.`t2` left join (`test`.`t3` join `test`.`t4`) on(((`test`.`t4`.`b` = `test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) join `test`.`t5` left join (`test`.`t6` join `test`.`t7` left join `test`.`t8` on(((`test`.`t8`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` < 10)))) on(((`test`.`t7`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` >= 2)))) on((((`test`.`t3`.`b` = 2) or isnull(`test`.`t3`.`c`)) and ((`test`.`t6`.`b` = 2) or isnull(`test`.`t6`.`c`)) and ((`test`.`t5`.`b` = `test`.`t0`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t6`.`c`) or isnull(`test`.`t8`.`c`)) and (`test`.`t1`.`a` <> 2))) join `test`.`t9` where ((`test`.`t9`.`a` = 1) and (`test`.`t1`.`b` = `test`.`t0`.`b`) and (`test`.`t0`.`a` = 1) and ((`test`.`t2`.`a` >= 4) or isnull(`test`.`t2`.`c`)) and ((`test`.`t3`.`a` < 5) or isnull(`test`.`t3`.`c`)) and ((`test`.`t4`.`b` = `test`.`t3`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t4`.`c`)) and ((`test`.`t5`.`a` >= 2) or isnull(`test`.`t5`.`c`)) and ((`test`.`t6`.`a` >= 4) or isnull(`test`.`t6`.`c`)) and ((`test`.`t7`.`a` <= 2) or isnull(`test`.`t7`.`c`)) and ((`test`.`t8`.`a` < 1) or isnull(`test`.`t8`.`c`)) and ((`test`.`t9`.`b` = `test`.`t8`.`b`) or isnull(`test`.`t8`.`c`)))
653
653
SELECT t9.a,t9.b
654
654
FROM t9;
655
655
a       b
743
743
WHERE t1.a <= 2;
744
744
a       b       a       b       a       b
745
745
1       3       3       3       NULL    NULL
746
 
2       2       3       3       NULL    NULL
747
746
1       3       4       2       1       2
748
747
1       3       4       2       2       2
 
748
1       3       5       3       NULL    NULL
 
749
2       2       3       3       NULL    NULL
749
750
2       2       4       2       1       2
750
751
2       2       4       2       2       2
751
 
1       3       5       3       NULL    NULL
752
752
2       2       5       3       NULL    NULL
753
753
SELECT t1.a,t1.b,t2.a,t2.b,t3.a,t3.b
754
754
FROM t1, t3 
758
758
WHERE t1.a <= 2;
759
759
a       b       a       b       a       b
760
760
1       3       3       3       NULL    NULL
761
 
2       2       3       3       NULL    NULL
762
761
1       3       4       2       1       2
763
762
1       3       4       2       2       2
 
763
1       3       5       3       NULL    NULL
 
764
2       2       3       3       NULL    NULL
764
765
2       2       4       2       1       2
765
766
2       2       4       2       2       2
766
 
1       3       5       3       NULL    NULL
767
767
2       2       5       3       NULL    NULL
768
768
SELECT t3.a,t3.b,t4.a,t4.b
769
769
FROM t3,t4;
790
790
WHERE t1.a <= 2;
791
791
a       b       a       b       a       b       a       b
792
792
1       3       3       3       NULL    NULL    NULL    NULL
793
 
2       2       3       3       NULL    NULL    NULL    NULL
794
793
1       3       4       2       1       2       3       2
795
794
1       3       4       2       1       2       4       2
 
795
1       3       5       3       NULL    NULL    NULL    NULL
 
796
2       2       3       3       NULL    NULL    NULL    NULL
796
797
2       2       4       2       1       2       3       2
797
798
2       2       4       2       1       2       4       2
798
 
1       3       5       3       NULL    NULL    NULL    NULL
799
799
2       2       5       3       NULL    NULL    NULL    NULL
800
800
SELECT t1.a,t1.b,t2.a,t2.b,t3.a,t3.b,t4.a,t4.b
801
801
FROM t1, (t3, t4) 
805
805
WHERE t1.a <= 2;
806
806
a       b       a       b       a       b       a       b
807
807
1       3       3       3       NULL    NULL    NULL    NULL
808
 
2       2       3       3       NULL    NULL    NULL    NULL
809
808
1       3       4       2       1       2       3       2
810
809
1       3       4       2       1       2       4       2
 
810
1       3       5       3       NULL    NULL    NULL    NULL
 
811
2       2       3       3       NULL    NULL    NULL    NULL
811
812
2       2       4       2       1       2       3       2
812
813
2       2       4       2       1       2       4       2
813
 
1       3       5       3       NULL    NULL    NULL    NULL
814
814
2       2       5       3       NULL    NULL    NULL    NULL
815
815
SELECT t1.a,t1.b,t2.a,t2.b,t3.a,t3.b,t4.a,t4.b
816
816
FROM t1, (t3, t4)
849
849
(t1,t2)
850
850
ON t3.a=1 AND t3.b=t2.b AND t2.b=t4.b;
851
851
id      select_type     table   type    possible_keys   key     key_len ref     rows    filtered        Extra
 
852
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    3       100.00  
 
853
1       SIMPLE  t2      ref     idx_b   idx_b   5       test.t3.b       2       100.00  
852
854
1       SIMPLE  t3      ALL     NULL    NULL    NULL    NULL    2       100.00  
853
855
1       SIMPLE  t4      ALL     NULL    NULL    NULL    NULL    2       100.00  Using join buffer
854
 
1       SIMPLE  t2      ref     idx_b   idx_b   5       test.t3.b       1       100.00  
855
 
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    3       100.00  
856
 
Warnings:
857
856
Note    1003    select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b` from `test`.`t3` join `test`.`t4` left join (`test`.`t1` join `test`.`t2`) on(((`test`.`t3`.`a` = 1) and (`test`.`t3`.`b` = `test`.`t2`.`b`) and (`test`.`t2`.`b` = `test`.`t4`.`b`))) where 1
 
857
Warnings:
858
858
SELECT t2.a,t2.b,t3.a,t3.b,t4.a,t4.b
859
859
FROM (t3,t4)
860
860
LEFT JOIN              
911
911
1       SIMPLE  t3      ALL     NULL    NULL    NULL    NULL    2       100.00  Using where
912
912
1       SIMPLE  t4      ALL     NULL    NULL    NULL    NULL    2       100.00  Using where
913
913
1       SIMPLE  t5      ALL     NULL    NULL    NULL    NULL    3       100.00  Using where
 
914
1       SIMPLE  t6      ALL     NULL    NULL    NULL    NULL    3       100.00  Using where
914
915
1       SIMPLE  t7      ALL     NULL    NULL    NULL    NULL    2       100.00  Using where
915
 
1       SIMPLE  t6      ALL     NULL    NULL    NULL    NULL    3       100.00  Using where
916
916
1       SIMPLE  t8      ALL     NULL    NULL    NULL    NULL    2       100.00  Using where
917
917
1       SIMPLE  t9      ALL     NULL    NULL    NULL    NULL    3       100.00  Using where; Using join buffer
 
918
Note    1003    select `test`.`t0`.`a` AS `a`,`test`.`t0`.`b` AS `b`,`test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b`,`test`.`t5`.`a` AS `a`,`test`.`t5`.`b` AS `b`,`test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS `b`,`test`.`t9`.`a` AS `a`,`test`.`t9`.`b` AS `b` from `test`.`t0` join `test`.`t1` left join (`test`.`t2` left join (`test`.`t3` join `test`.`t4`) on(((`test`.`t4`.`b` = `test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) join `test`.`t5` left join (`test`.`t6` join `test`.`t7` left join `test`.`t8` on(((`test`.`t8`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` < 10)))) on(((`test`.`t7`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` >= 2)))) on((((`test`.`t3`.`b` = 2) or isnull(`test`.`t3`.`c`)) and ((`test`.`t6`.`b` = 2) or isnull(`test`.`t6`.`c`)) and ((`test`.`t5`.`b` = `test`.`t0`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t6`.`c`) or isnull(`test`.`t8`.`c`)) and (`test`.`t1`.`a` <> 2))) join `test`.`t9` where ((`test`.`t9`.`a` = 1) and (`test`.`t1`.`b` = `test`.`t0`.`b`) and (`test`.`t0`.`a` = 1) and ((`test`.`t2`.`a` >= 4) or isnull(`test`.`t2`.`c`)) and ((`test`.`t3`.`a` < 5) or isnull(`test`.`t3`.`c`)) and ((`test`.`t4`.`b` = `test`.`t3`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t4`.`c`)) and ((`test`.`t5`.`a` >= 2) or isnull(`test`.`t5`.`c`)) and ((`test`.`t6`.`a` >= 4) or isnull(`test`.`t6`.`c`)) and ((`test`.`t7`.`a` <= 2) or isnull(`test`.`t7`.`c`)) and ((`test`.`t8`.`a` < 1) or isnull(`test`.`t8`.`c`)) and ((`test`.`t9`.`b` = `test`.`t8`.`b`) or isnull(`test`.`t8`.`c`)))
918
919
Warnings:
919
 
Note    1003    select `test`.`t0`.`a` AS `a`,`test`.`t0`.`b` AS `b`,`test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b`,`test`.`t5`.`a` AS `a`,`test`.`t5`.`b` AS `b`,`test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS `b`,`test`.`t9`.`a` AS `a`,`test`.`t9`.`b` AS `b` from `test`.`t0` join `test`.`t1` left join (`test`.`t2` left join (`test`.`t3` join `test`.`t4`) on(((`test`.`t4`.`b` = `test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) join `test`.`t5` left join (`test`.`t6` join `test`.`t7` left join `test`.`t8` on(((`test`.`t8`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` < 10)))) on(((`test`.`t7`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` >= 2)))) on((((`test`.`t3`.`b` = 2) or isnull(`test`.`t3`.`c`)) and ((`test`.`t6`.`b` = 2) or isnull(`test`.`t6`.`c`)) and ((`test`.`t5`.`b` = `test`.`t0`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t6`.`c`) or isnull(`test`.`t8`.`c`)) and (`test`.`t1`.`a` <> 2))) join `test`.`t9` where ((`test`.`t9`.`a` = 1) and (`test`.`t1`.`b` = `test`.`t0`.`b`) and (`test`.`t0`.`a` = 1) and ((`test`.`t2`.`a` >= 4) or isnull(`test`.`t2`.`c`)) and ((`test`.`t3`.`a` < 5) or isnull(`test`.`t3`.`c`)) and ((`test`.`t4`.`b` = `test`.`t3`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t4`.`c`)) and ((`test`.`t5`.`a` >= 2) or isnull(`test`.`t5`.`c`)) and ((`test`.`t6`.`a` >= 4) or isnull(`test`.`t6`.`c`)) and ((`test`.`t7`.`a` <= 2) or isnull(`test`.`t7`.`c`)) and ((`test`.`t8`.`a` < 1) or isnull(`test`.`t8`.`c`)) and ((`test`.`t9`.`b` = `test`.`t8`.`b`) or isnull(`test`.`t8`.`c`)))
920
920
CREATE INDEX idx_b ON t4(b);
921
921
CREATE INDEX idx_b ON t5(b);
922
922
EXPLAIN EXTENDED
958
958
1       SIMPLE  t0      ALL     NULL    NULL    NULL    NULL    3       100.00  Using where
959
959
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    3       100.00  Using where; Using join buffer
960
960
1       SIMPLE  t2      ALL     NULL    NULL    NULL    NULL    3       100.00  Using where
961
 
1       SIMPLE  t4      ref     idx_b   idx_b   5       test.t2.b       1       100.00  
962
961
1       SIMPLE  t3      ALL     NULL    NULL    NULL    NULL    2       100.00  Using where
 
962
1       SIMPLE  t4      ref     idx_b   idx_b   5       test.t2.b       2       100.00  Using where
963
963
1       SIMPLE  t5      ALL     idx_b   NULL    NULL    NULL    3       100.00  Using where
964
964
1       SIMPLE  t7      ALL     NULL    NULL    NULL    NULL    2       100.00  Using where
965
965
1       SIMPLE  t6      ALL     NULL    NULL    NULL    NULL    3       100.00  Using where
966
966
1       SIMPLE  t8      ALL     NULL    NULL    NULL    NULL    2       100.00  Using where
967
967
1       SIMPLE  t9      ALL     NULL    NULL    NULL    NULL    3       100.00  Using where; Using join buffer
968
968
Warnings:
969
 
Note    1003    select `test`.`t0`.`a` AS `a`,`test`.`t0`.`b` AS `b`,`test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b`,`test`.`t5`.`a` AS `a`,`test`.`t5`.`b` AS `b`,`test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS `b`,`test`.`t9`.`a` AS `a`,`test`.`t9`.`b` AS `b` from `test`.`t0` join `test`.`t1` left join (`test`.`t2` left join (`test`.`t3` join `test`.`t4`) on(((`test`.`t4`.`b` = `test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) join `test`.`t5` left join (`test`.`t6` join `test`.`t7` left join `test`.`t8` on(((`test`.`t8`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` < 10)))) on(((`test`.`t7`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` >= 2)))) on((((`test`.`t3`.`b` = 2) or isnull(`test`.`t3`.`c`)) and ((`test`.`t6`.`b` = 2) or isnull(`test`.`t6`.`c`)) and ((`test`.`t5`.`b` = `test`.`t0`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t6`.`c`) or isnull(`test`.`t8`.`c`)) and (`test`.`t1`.`a` <> 2))) join `test`.`t9` where ((`test`.`t9`.`a` = 1) and (`test`.`t1`.`b` = `test`.`t0`.`b`) and (`test`.`t0`.`a` = 1) and ((`test`.`t2`.`a` >= 4) or isnull(`test`.`t2`.`c`)) and ((`test`.`t3`.`a` < 5) or isnull(`test`.`t3`.`c`)) and ((`test`.`t3`.`b` = `test`.`t4`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t4`.`c`)) and ((`test`.`t5`.`a` >= 2) or isnull(`test`.`t5`.`c`)) and ((`test`.`t6`.`a` >= 4) or isnull(`test`.`t6`.`c`)) and ((`test`.`t7`.`a` <= 2) or isnull(`test`.`t7`.`c`)) and ((`test`.`t8`.`a` < 1) or isnull(`test`.`t8`.`c`)) and ((`test`.`t9`.`b` = `test`.`t8`.`b`) or isnull(`test`.`t8`.`c`)))
 
969
Note    1003    select `test`.`t0`.`a` AS `a`,`test`.`t0`.`b` AS `b`,`test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b`,`test`.`t5`.`a` AS `a`,`test`.`t5`.`b` AS `b`,`test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS `b`,`test`.`t9`.`a` AS `a`,`test`.`t9`.`b` AS `b` from `test`.`t0` join `test`.`t1` left join (`test`.`t2` left join (`test`.`t3` join `test`.`t4`) on(((`test`.`t4`.`b` = `test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) join `test`.`t5` left join (`test`.`t6` join `test`.`t7` left join `test`.`t8` on(((`test`.`t8`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` < 10)))) on(((`test`.`t7`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` >= 2)))) on((((`test`.`t3`.`b` = 2) or isnull(`test`.`t3`.`c`)) and ((`test`.`t6`.`b` = 2) or isnull(`test`.`t6`.`c`)) and ((`test`.`t5`.`b` = `test`.`t0`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t6`.`c`) or isnull(`test`.`t8`.`c`)) and (`test`.`t1`.`a` <> 2))) join `test`.`t9` where ((`test`.`t9`.`a` = 1) and (`test`.`t1`.`b` = `test`.`t0`.`b`) and (`test`.`t0`.`a` = 1) and ((`test`.`t2`.`a` >= 4) or isnull(`test`.`t2`.`c`)) and ((`test`.`t3`.`a` < 5) or isnull(`test`.`t3`.`c`)) and ((`test`.`t4`.`b` = `test`.`t3`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t4`.`c`)) and ((`test`.`t5`.`a` >= 2) or isnull(`test`.`t5`.`c`)) and ((`test`.`t6`.`a` >= 4) or isnull(`test`.`t6`.`c`)) and ((`test`.`t7`.`a` <= 2) or isnull(`test`.`t7`.`c`)) and ((`test`.`t8`.`a` < 1) or isnull(`test`.`t8`.`c`)) and ((`test`.`t9`.`b` = `test`.`t8`.`b`) or isnull(`test`.`t8`.`c`)))
970
970
CREATE INDEX idx_b ON t8(b);
971
971
EXPLAIN EXTENDED
972
972
SELECT t0.a,t0.b,t1.a,t1.b,t2.a,t2.b,t3.a,t3.b,t4.a,t4.b,
1007
1007
1       SIMPLE  t0      ALL     NULL    NULL    NULL    NULL    3       100.00  Using where
1008
1008
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    3       100.00  Using where; Using join buffer
1009
1009
1       SIMPLE  t2      ALL     NULL    NULL    NULL    NULL    3       100.00  Using where
1010
 
1       SIMPLE  t4      ref     idx_b   idx_b   5       test.t2.b       1       100.00  
1011
1010
1       SIMPLE  t3      ALL     NULL    NULL    NULL    NULL    2       100.00  Using where
 
1011
1       SIMPLE  t4      ref     idx_b   idx_b   5       test.t2.b       2       100.00  Using where
1012
1012
1       SIMPLE  t5      ALL     idx_b   NULL    NULL    NULL    3       100.00  Using where
1013
1013
1       SIMPLE  t7      ALL     NULL    NULL    NULL    NULL    2       100.00  Using where
1014
1014
1       SIMPLE  t6      ALL     NULL    NULL    NULL    NULL    3       100.00  Using where
1015
 
1       SIMPLE  t8      ref     idx_b   idx_b   5       test.t5.b       1       100.00  Using where
 
1015
1       SIMPLE  t8      ref     idx_b   idx_b   5       test.t5.b       2       100.00  Using where
1016
1016
1       SIMPLE  t9      ALL     NULL    NULL    NULL    NULL    3       100.00  Using where; Using join buffer
1017
1017
Warnings:
1018
 
Note    1003    select `test`.`t0`.`a` AS `a`,`test`.`t0`.`b` AS `b`,`test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b`,`test`.`t5`.`a` AS `a`,`test`.`t5`.`b` AS `b`,`test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS `b`,`test`.`t9`.`a` AS `a`,`test`.`t9`.`b` AS `b` from `test`.`t0` join `test`.`t1` left join (`test`.`t2` left join (`test`.`t3` join `test`.`t4`) on(((`test`.`t4`.`b` = `test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) join `test`.`t5` left join (`test`.`t6` join `test`.`t7` left join `test`.`t8` on(((`test`.`t8`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` < 10)))) on(((`test`.`t7`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` >= 2)))) on((((`test`.`t3`.`b` = 2) or isnull(`test`.`t3`.`c`)) and ((`test`.`t6`.`b` = 2) or isnull(`test`.`t6`.`c`)) and ((`test`.`t5`.`b` = `test`.`t0`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t6`.`c`) or isnull(`test`.`t8`.`c`)) and (`test`.`t1`.`a` <> 2))) join `test`.`t9` where ((`test`.`t9`.`a` = 1) and (`test`.`t1`.`b` = `test`.`t0`.`b`) and (`test`.`t0`.`a` = 1) and ((`test`.`t2`.`a` >= 4) or isnull(`test`.`t2`.`c`)) and ((`test`.`t3`.`a` < 5) or isnull(`test`.`t3`.`c`)) and ((`test`.`t3`.`b` = `test`.`t4`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t4`.`c`)) and ((`test`.`t5`.`a` >= 2) or isnull(`test`.`t5`.`c`)) and ((`test`.`t6`.`a` >= 4) or isnull(`test`.`t6`.`c`)) and ((`test`.`t7`.`a` <= 2) or isnull(`test`.`t7`.`c`)) and ((`test`.`t8`.`a` < 1) or isnull(`test`.`t8`.`c`)) and ((`test`.`t9`.`b` = `test`.`t8`.`b`) or isnull(`test`.`t8`.`c`)))
 
1018
Note    1003    select `test`.`t0`.`a` AS `a`,`test`.`t0`.`b` AS `b`,`test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b`,`test`.`t5`.`a` AS `a`,`test`.`t5`.`b` AS `b`,`test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS `b`,`test`.`t9`.`a` AS `a`,`test`.`t9`.`b` AS `b` from `test`.`t0` join `test`.`t1` left join (`test`.`t2` left join (`test`.`t3` join `test`.`t4`) on(((`test`.`t4`.`b` = `test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) join `test`.`t5` left join (`test`.`t6` join `test`.`t7` left join `test`.`t8` on(((`test`.`t8`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` < 10)))) on(((`test`.`t7`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` >= 2)))) on((((`test`.`t3`.`b` = 2) or isnull(`test`.`t3`.`c`)) and ((`test`.`t6`.`b` = 2) or isnull(`test`.`t6`.`c`)) and ((`test`.`t5`.`b` = `test`.`t0`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t6`.`c`) or isnull(`test`.`t8`.`c`)) and (`test`.`t1`.`a` <> 2))) join `test`.`t9` where ((`test`.`t9`.`a` = 1) and (`test`.`t1`.`b` = `test`.`t0`.`b`) and (`test`.`t0`.`a` = 1) and ((`test`.`t2`.`a` >= 4) or isnull(`test`.`t2`.`c`)) and ((`test`.`t3`.`a` < 5) or isnull(`test`.`t3`.`c`)) and ((`test`.`t4`.`b` = `test`.`t3`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t4`.`c`)) and ((`test`.`t5`.`a` >= 2) or isnull(`test`.`t5`.`c`)) and ((`test`.`t6`.`a` >= 4) or isnull(`test`.`t6`.`c`)) and ((`test`.`t7`.`a` <= 2) or isnull(`test`.`t7`.`c`)) and ((`test`.`t8`.`a` < 1) or isnull(`test`.`t8`.`c`)) and ((`test`.`t9`.`b` = `test`.`t8`.`b`) or isnull(`test`.`t8`.`c`)))
1019
1019
CREATE INDEX idx_b ON t1(b);
1020
1020
CREATE INDEX idx_a ON t0(a);
1021
1021
EXPLAIN EXTENDED
1054
1054
(t8.b=t9.b OR t8.c IS NULL) AND
1055
1055
(t9.a=1);
1056
1056
id      select_type     table   type    possible_keys   key     key_len ref     rows    filtered        Extra
1057
 
1       SIMPLE  t0      ref     idx_a   idx_a   5       const   2       100.00  
1058
 
1       SIMPLE  t1      ref     idx_b   idx_b   5       test.t0.b       1       100.00  
 
1057
1       SIMPLE  t0      ref     idx_a   idx_a   5       const   2       100.00  Using where
 
1058
1       SIMPLE  t1      ALL     idx_b   NULL    NULL    NULL    3       100.00  Using where; Using join buffer
1059
1059
1       SIMPLE  t2      ALL     NULL    NULL    NULL    NULL    3       100.00  Using where
1060
 
1       SIMPLE  t4      ref     idx_b   idx_b   5       test.t2.b       1       100.00  
1061
1060
1       SIMPLE  t3      ALL     NULL    NULL    NULL    NULL    2       100.00  Using where
 
1061
1       SIMPLE  t4      ref     idx_b   idx_b   5       test.t2.b       2       100.00  Using where
1062
1062
1       SIMPLE  t5      ALL     idx_b   NULL    NULL    NULL    3       100.00  Using where
1063
1063
1       SIMPLE  t7      ALL     NULL    NULL    NULL    NULL    2       100.00  Using where
1064
1064
1       SIMPLE  t6      ALL     NULL    NULL    NULL    NULL    3       100.00  Using where
1065
 
1       SIMPLE  t8      ref     idx_b   idx_b   5       test.t5.b       1       100.00  Using where
 
1065
1       SIMPLE  t8      ref     idx_b   idx_b   5       test.t5.b       2       100.00  Using where
1066
1066
1       SIMPLE  t9      ALL     NULL    NULL    NULL    NULL    3       100.00  Using where; Using join buffer
1067
1067
Warnings:
1068
 
Note    1003    select `test`.`t0`.`a` AS `a`,`test`.`t0`.`b` AS `b`,`test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b`,`test`.`t5`.`a` AS `a`,`test`.`t5`.`b` AS `b`,`test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS `b`,`test`.`t9`.`a` AS `a`,`test`.`t9`.`b` AS `b` from `test`.`t0` join `test`.`t1` left join (`test`.`t2` left join (`test`.`t3` join `test`.`t4`) on(((`test`.`t4`.`b` = `test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) join `test`.`t5` left join (`test`.`t6` join `test`.`t7` left join `test`.`t8` on(((`test`.`t8`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` < 10)))) on(((`test`.`t7`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` >= 2)))) on((((`test`.`t3`.`b` = 2) or isnull(`test`.`t3`.`c`)) and ((`test`.`t6`.`b` = 2) or isnull(`test`.`t6`.`c`)) and ((`test`.`t5`.`b` = `test`.`t0`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t6`.`c`) or isnull(`test`.`t8`.`c`)) and (`test`.`t1`.`a` <> 2))) join `test`.`t9` where ((`test`.`t9`.`a` = 1) and (`test`.`t1`.`b` = `test`.`t0`.`b`) and (`test`.`t0`.`a` = 1) and ((`test`.`t2`.`a` >= 4) or isnull(`test`.`t2`.`c`)) and ((`test`.`t3`.`a` < 5) or isnull(`test`.`t3`.`c`)) and ((`test`.`t3`.`b` = `test`.`t4`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t4`.`c`)) and ((`test`.`t5`.`a` >= 2) or isnull(`test`.`t5`.`c`)) and ((`test`.`t6`.`a` >= 4) or isnull(`test`.`t6`.`c`)) and ((`test`.`t7`.`a` <= 2) or isnull(`test`.`t7`.`c`)) and ((`test`.`t8`.`a` < 1) or isnull(`test`.`t8`.`c`)) and ((`test`.`t9`.`b` = `test`.`t8`.`b`) or isnull(`test`.`t8`.`c`)))
 
1068
Note    1003    select `test`.`t0`.`a` AS `a`,`test`.`t0`.`b` AS `b`,`test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b`,`test`.`t5`.`a` AS `a`,`test`.`t5`.`b` AS `b`,`test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS `b`,`test`.`t9`.`a` AS `a`,`test`.`t9`.`b` AS `b` from `test`.`t0` join `test`.`t1` left join (`test`.`t2` left join (`test`.`t3` join `test`.`t4`) on(((`test`.`t4`.`b` = `test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) join `test`.`t5` left join (`test`.`t6` join `test`.`t7` left join `test`.`t8` on(((`test`.`t8`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` < 10)))) on(((`test`.`t7`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` >= 2)))) on((((`test`.`t3`.`b` = 2) or isnull(`test`.`t3`.`c`)) and ((`test`.`t6`.`b` = 2) or isnull(`test`.`t6`.`c`)) and ((`test`.`t5`.`b` = `test`.`t0`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t6`.`c`) or isnull(`test`.`t8`.`c`)) and (`test`.`t1`.`a` <> 2))) join `test`.`t9` where ((`test`.`t9`.`a` = 1) and (`test`.`t1`.`b` = `test`.`t0`.`b`) and (`test`.`t0`.`a` = 1) and ((`test`.`t2`.`a` >= 4) or isnull(`test`.`t2`.`c`)) and ((`test`.`t3`.`a` < 5) or isnull(`test`.`t3`.`c`)) and ((`test`.`t4`.`b` = `test`.`t3`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t4`.`c`)) and ((`test`.`t5`.`a` >= 2) or isnull(`test`.`t5`.`c`)) and ((`test`.`t6`.`a` >= 4) or isnull(`test`.`t6`.`c`)) and ((`test`.`t7`.`a` <= 2) or isnull(`test`.`t7`.`c`)) and ((`test`.`t8`.`a` < 1) or isnull(`test`.`t8`.`c`)) and ((`test`.`t9`.`b` = `test`.`t8`.`b`) or isnull(`test`.`t8`.`c`)))
1069
1069
SELECT t0.a,t0.b,t1.a,t1.b,t2.a,t2.b,t3.a,t3.b,t4.a,t4.b,
1070
1070
t5.a,t5.b,t6.a,t6.b,t7.a,t7.b,t8.a,t8.b,t9.a,t9.b
1071
1071
FROM t0,t1
1197
1197
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1198
1198
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    21      
1199
1199
1       SIMPLE  t3      ALL     c       NULL    NULL    NULL    6       
1200
 
1       SIMPLE  t2      ref     b       b       5       test.t3.c       1       
 
1200
1       SIMPLE  t2      ref     b       b       5       test.t3.c       2       
1201
1201
EXPLAIN SELECT a, b, c FROM t1 LEFT JOIN (t2, t3) ON b < 3 and b = c;
1202
1202
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1203
1203
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    21      
1204
1204
1       SIMPLE  t3      ALL     c       NULL    NULL    NULL    6       
1205
 
1       SIMPLE  t2      ref     b       b       5       test.t3.c       1       
 
1205
1       SIMPLE  t2      ref     b       b       5       test.t3.c       2       
1206
1206
SELECT a, b, c FROM t1 LEFT JOIN (t2, t3) ON b < 3 and b = c;
1207
1207
a       b       c
1208
1208
NULL    0       0
1273
1273
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1274
1274
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    21      
1275
1275
1       SIMPLE  t3      ALL     c       NULL    NULL    NULL    6       
1276
 
1       SIMPLE  t2      ref     b       b       5       test.t3.c       1       
 
1276
1       SIMPLE  t2      ref     b       b       5       test.t3.c       2       
1277
1277
SELECT a, b, c FROM t1 LEFT JOIN (t2, t3) ON b < 3 and b = c;
1278
1278
a       b       c
1279
1279
NULL    NULL    NULL
1331
1331
on (t1.a = t2.a);
1332
1332
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1333
1333
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    10      
1334
 
1       SIMPLE  t2      ref     a       a       5       test.t1.a       1       
1335
 
1       SIMPLE  t3      ref     a       a       5       test.t2.a       1       
 
1334
1       SIMPLE  t2      ref     a       a       5       test.t1.a       11      
 
1335
1       SIMPLE  t3      ref     a       a       5       test.t2.a       11      
1336
1336
drop table t1, t2, t3;
1337
1337
CREATE TABLE t1 (
1338
1338
id int NOT NULL PRIMARY KEY,
1501
1501
(t5 JOIN t4 ON t5.carrier_id = t4.id)
1502
1502
ON t4.carrier = t1.carrier;
1503
1503
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1504
 
1       SIMPLE  t1      ALL     PRIMARY NULL    NULL    NULL    36      
 
1504
1       SIMPLE  t2      ALL     package_id      NULL    NULL    NULL    45      
 
1505
1       SIMPLE  t1      eq_ref  PRIMARY PRIMARY 4       test.t2.package_id      1       
1505
1506
1       SIMPLE  t4      eq_ref  PRIMARY,id      PRIMARY 10      test.t1.carrier 1       
1506
 
1       SIMPLE  t5      ref     carrier_id      carrier_id      5       test.t4.id      1       
1507
 
1       SIMPLE  t2      ref     package_id      package_id      5       test.t1.id      1       
1508
 
1       SIMPLE  t3      ref     package_id      package_id      5       test.t1.id      1       
 
1507
1       SIMPLE  t5      ref     carrier_id      carrier_id      5       test.t4.id      11      
 
1508
1       SIMPLE  t3      ref     package_id      package_id      5       test.t1.id      12      Using where
1509
1509
SELECT COUNT(*) 
1510
1510
FROM ((t2 JOIN t1 ON t2.package_id = t1.id) 
1511
1511
JOIN t3 ON t3.package_id = t1.id)