public function join(string $fromAlias, string $join, string $alias, string $condition = null): self
    {
        return $this->innerJoin($fromAlias, $join, $alias, $condition);
    }
public function join(string $fromAlias, string $join, string $alias, string $condition = null): self
    {
        return $this->innerJoin($fromAlias, $join, $alias, $condition);
    }
public function join ( string $ fromAlias , string $ join , string $ alias , string $ condition = null ) : self { return $ this -> innerJoin ( $ fromAlias , $ join , $ alias , $ condition ) ; }
Creates and adds a join to the query

Example
<code>
$sb = new Select();
$sb
->select('u.name')
->from('users', 'u')
->join('u', 'phone', 'p', 'p.is_primary = 1');
</code>

@param  string $fromAlias The alias that points to a from clause
@param  string $join      The table name to join
@param  string $alias     The alias of the join table
@param  string $condition The condition for the join

@return $this
Creates and adds a join to the query