ВУЗ:
Составители:
Рубрика:
43
Раздел INTO позволяет создать новую таблицу для хранения результатов
запроса. Структура этой таблицы будет определяться списком выбора, т.е.
динамически при выполнении запроса.
Раздел FROM является обязательным в команде SELECT и определяет
таблицы и представления для выборки данных. Если таблица одновременно
является и источником данных, и получателем результатов, то ей необходимо
задать псевдоним с
помощью конструкции AS, что обеспечит правильную работу
сервера. Для таблиц можно указывать уровни блокировок: HOLDLOCK,
NOLOCK и т.д.
В разделе FROM можно задавать связанные таблицы для формирования
сложных запросов:
Исходная таблица Тип связи Исходная таблица
ON Условие поиска
или
Исходная таблица CROSS JOIN Исходная таблица
При использовании ключевых слов CROSS JOIN или запятой происходит
связывание каждой строки
левой таблицы с каждой строкой правой таблицы, так
что количество строк при выполнении запроса определяется как произведение
количества строк первой таблицы на количество строк второй таблицы.
При использовании ключевых слов INNER JOIN или пробела
выбираются пары строк из связанных таблиц, для которых имеются строки,
удовлетворяющие критерию связывания в обеих таблицах. Строки из
левой
таблицы, для которых не имеется пары в связанной таблице, в результат не
включаются. Также не включаются строки правой таблицы, для которых нет
соответствующей строки в левой таблице.
При использовании ключевых слов LEFT [OUTER] JOIN в результат
будут включены все строки левой таблицы, независимо от того, есть для них
соответствующая строка в правой
таблице или нет, при этом для
соответствующих столбцов правой таблицы, включенных в запрос, при
отсутствии соответствия будут заноситься значения NULL.
При использовании ключевых слов RIGHT [OUTER] JOIN в результат
будут включены все строки правой таблицы, независимо от того, есть для них
соответствующие строки в левой таблице. В столбцах левой таблицы, для тех
строк, для
которых нет соответствия, запишутся значения NULL.
При использовании ключевых слов FULL [OUTER] JOIN в результат
будут включены все строки как правой, так и левой таблицы.
Логическое условие связывания двух таблиц, которое записывается после
ключевого слово ON, должно быть логическим выражением, включающим любые
операторы сравнения: =, <, >, <=, >=,! =, <>. В ряде случаев в запросах
используются опции оптимизации: LOOP, HASH, MERGE, REMOTE. Если эти
опции
не заданы, то оптимизацию запросов осуществляет сервер.
С помощью раздела WHERE можно сузить количество обрабатываемых
строк данных, написав одно или несколько логических условий:
Раздел INTO позволяет создать новую таблицу для хранения результатов запроса. Структура этой таблицы будет определяться списком выбора, т.е. динамически при выполнении запроса. Раздел FROM является обязательным в команде SELECT и определяет таблицы и представления для выборки данных. Если таблица одновременно является и источником данных, и получателем результатов, то ей необходимо задать псевдоним с помощью конструкции AS, что обеспечит правильную работу сервера. Для таблиц можно указывать уровни блокировок: HOLDLOCK, NOLOCK и т.д. В разделе FROM можно задавать связанные таблицы для формирования сложных запросов: Исходная таблица Тип связи Исходная таблица ON Условие поиска или Исходная таблица CROSS JOIN Исходная таблица При использовании ключевых слов CROSS JOIN или запятой происходит связывание каждой строки левой таблицы с каждой строкой правой таблицы, так что количество строк при выполнении запроса определяется как произведение количества строк первой таблицы на количество строк второй таблицы. При использовании ключевых слов INNER JOIN или пробела выбираются пары строк из связанных таблиц, для которых имеются строки, удовлетворяющие критерию связывания в обеих таблицах. Строки из левой таблицы, для которых не имеется пары в связанной таблице, в результат не включаются. Также не включаются строки правой таблицы, для которых нет соответствующей строки в левой таблице. При использовании ключевых слов LEFT [OUTER] JOIN в результат будут включены все строки левой таблицы, независимо от того, есть для них соответствующая строка в правой таблице или нет, при этом для соответствующих столбцов правой таблицы, включенных в запрос, при отсутствии соответствия будут заноситься значения NULL. При использовании ключевых слов RIGHT [OUTER] JOIN в результат будут включены все строки правой таблицы, независимо от того, есть для них соответствующие строки в левой таблице. В столбцах левой таблицы, для тех строк, для которых нет соответствия, запишутся значения NULL. При использовании ключевых слов FULL [OUTER] JOIN в результат будут включены все строки как правой, так и левой таблицы. Логическое условие связывания двух таблиц, которое записывается после ключевого слово ON, должно быть логическим выражением, включающим любые операторы сравнения: =, <, >, <=, >=,! =, <>. В ряде случаев в запросах используются опции оптимизации: LOOP, HASH, MERGE, REMOTE. Если эти опции не заданы, то оптимизацию запросов осуществляет сервер. С помощью раздела WHERE можно сузить количество обрабатываемых строк данных, написав одно или несколько логических условий: 43
Страницы
- « первая
- ‹ предыдущая
- …
- 41
- 42
- 43
- 44
- 45
- …
- следующая ›
- последняя »