Given this schema:
create table t (i int, j int);
create table u (i int, j int);
insert into t values (1, 1);
insert into t values (2, 2);
insert into u values (1, 1);
insert into u values (2, 1);
It is possible in Teradata to write the following:
select * from t where t.j = u.j;
Which seems to implicitly add the u table to the table list. What's actually being executed is this:
select t.* from t, u where t.j = u.j;
Both producing
|i |j |
|---|---|
|1 |1 |
|1 |1 |
Irrespective of whether using this feature is a good idea (and I think it isn't), I can't seem to find any reference to it in the documentation. The documentation seems to always use the latter syntax.
My questions are:
- What is this type of "implicit join" called? (Most people call the output version "implicit join", because it does not use the ANSI JOIN syntax), so here, I'm referring to this "double-implicit join"...
- What are the exact syntactic rules for it?