Figure 3.1: EQJOIN Logical Operator


           Figure 3.1 shows the Model D EQJOIN operator. EQJOIN takes two inputs -- the tables to be joined. As parameters (shown in single quotes) it has a set of equality conditions between the attributes of the two tables. Below the general form of the EQJOIN operator, is an example query tree (defined below) using the EQJOIN operator. This illustrates the Cascades distinction between stored relations and tables. The stored relations are accessed via the two GET logical operators, with parameters 'ORDER as O' and 'CUSTOMER as C'. The outputs of the GET operators are tables corresponding to the stored relations ORDER and CUSTOMER, respectively. The two tables are the inputs to the EQJOIN which also produces a table as output. At the bottom of Figure 3.1 are the relational algebra expression and SQL expression which are equivalent to the example query tree.

3. Fundamental Concepts:    <Models> <Log> <Query Trees> <Groups> <Memo> <Phys> <Item> <Rules> <Opt Stages> <Find Best> <Complexity>
  3.1: EQJOIN     3.2a: Query Tree     3.2b: Equiv.     3.3a: Init Memo     3.3b: Memo     3.3c: Key     3.4: Complexity     3.5: Phys Memo     3.6: Plan     3.7: Pred.     3.8: Op Types     3.9: Rule  

 Page 4