public function from($tables = null): IQueryBuilderHandler
    {
        if ($tables === null) {
            $this->statements['tables'] = null;

            return $this;
        }

        if (\is_array($tables) === false) {
            $tables = \func_get_args();
        }

        $tTables = [];

        foreach ((array)$tables as $key => $value) {
            if (\is_string($key) === true) {
                $this->alias($value, $key);
                $tTables[] = $key;
                continue;
            }

            $tTables[] = $value;
        }

        $tTables = $this->addTablePrefix($tTables, false);
        $this->statements['tables'] = $tTables;

        return $this;
    }