Команда JOIN

Создает новую таблицу, объединяя две существующие таблицы. Данная команда включена для совместимости с предыдущими версиями. Пользуйтесь вместо нее командой SELECT - SQL.

Синтаксис:

JOIN WITH nWorkArea | WITH cTableAlias
	TO FileName
	FOR lExpression
	[FIELDS FieldList]
	[NOOPTIMIZE]

Параметры:
WITH nWorkArea
Задает номер рабочей области второй таблицы.
WITH cTableAlias
Задает псевдоним второй таблицы.
TO FileName
Задает имя новой таблицы, которую нужно создать объединением таблиц.
FOR lExpression
Задает условие, согласно которому новая запись будет внесена в новую таблицу только в случае, если значение выражения lExpression "истина" (.T.). Если значение lExpression "ложь" (.F.), новая запись в новую таблицу не заносится.
Замечание. Технология Rushmore оптимизирует запрос, формируемый командой JOIN ... FOR, если lExpression является оптимизируемым выражением. В целях повышения производительности рекомендуется использовать в предложении FOR оптимизируемое выражение. Подробнее об этом см. описание команды SET OPTIMIZE или главу 16 "Оптимизация приложений" Руководства разработчика.
FIELDS FieldList
Задает список полей, которые следует включить в новую таблицу. Список FieldList может содержать имена полей как из таблицы, открытой в текущей рабочей области, так и из второй таблицы, открытой в другой рабочей области.
NOOPTIMIZE
Запрещает оптимизацию операции JOIN по технологии Rushmore. Подробнее об этом см. темы SET OPTIMIZE и Основы технологии Rushmore или главу 17 "Оптимизация приложений" Руководства разработчика.

Комментарии:
Команда JOIN создает новую таблицу из двух таблиц: таблицы, которая открыта в выбранной в данный момент рабочей области, и второй таблицы, которая открыта в другой области, определенной номером рабочей области или псевдонимом.
Команда JOIN устанавливает указатель записи на первой записи таблицы, открытой в текущей рабочей области, и проходит по всем записям второй таблицы. Всякий раз, когда для записи из второй таблицы условие lExpression оказывается истинным, в новую таблицу включается очередная запись. После этого указатель записи перемещается к следующей записи в таблице, открытой в текущей рабочей области, и процесс повторяется.
Важное замечание. Время выполнения данной команды зависит от размеров объединяемых таблиц и может быть большим. Кроме того, команда JOIN может привести к исчерпанию свободного места на диске, даже если размеры таблиц не очень велики.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 12.02.2003