public function from(
        $table,
        /*# string */ $tableAlias = ''
    )/* : FromInterface */ {
        if (is_array($table)) {
            foreach ($table as $key => $val) {
                if (is_int($key)) {
                    $key = $val;
                    $val = '';
                }
                $this->from($key, $val);
            }
        } else {
            // overwrite exisiting same table
            $key = array_search($table, $this->clause_table, true);
            if (false !== $key) {
                unset($this->clause_table[$key]);
            }

            if (empty($tableAlias)) {
                $this->clause_table[] = $table;
            } else {
                $this->clause_table[(string) $tableAlias] = $table;
            }
        }
        return $this;
    }
public function from(
        $table,
        /*# string */ $tableAlias = ''
    )/* : FromInterface */ {
        if (is_array($table)) {
            foreach ($table as $key => $val) {
                if (is_int($key)) {
                    $key = $val;
                    $val = '';
                }
                $this->from($key, $val);
            }
        } else {
            // overwrite exisiting same table
            $key = array_search($table, $this->clause_table, true);
            if (false !== $key) {
                unset($this->clause_table[$key]);
            }

            if (empty($tableAlias)) {
                $this->clause_table[] = $table;
            } else {
                $this->clause_table[(string) $tableAlias] = $table;
            }
        }
        return $this;
    }
{@inheritDoc}