43 Извлечение данных средствами T-SQL. Команда SELECT. Раздел FROM.
SELECT select_list
[INTO new_table]
FROM table_source
[WHERE search_conditions]
[GROUP BY group_by_expression]
[HAVING search_condition]
[ORDER BY order_expression [ASC | DESC] ]
Раздел SELECT имеет следующий синтаксис:
SELECT [ ALL | DISTINCT ]
TOP n [PERCENT]
<select_list>
Аргумент table_sourse имеет следующую структуру
<table_sourse> :: = table_name [[AS] table_alias] | view_name {{ AS] table_alias] | <join_table>
Аргумент table_name должен содержать имя таблицы в которой осуществляется выборка данных.
Аргумент view_name указывает имя представления из которого необходимо выбрать данные.
Конструкция join_table имеет следующий синтаксис:
<join table> :: = <table_source> <join_type> <table_source> ON <search_condition>
Эта конструкция используется для связывания при выборке из нескольких таблиц. Конструкции <table_source> описывают связываемые таблицы. Конструкция <join_type> описывает тип связывания двух таблиц. Исходная таблица указывается слева от конструкции <join_type> и называет левой таблицей, справа указывается зависимая таблица, которая называется правой таблицей.
Конструкция <join_type> имеет следующий синтаксис:
<join_type> :: = [ INNER | (( LEFT | RIGHT | FULL ) [OUTER] ) ]
INNER - При использовании этого типа связи выбираются пары строк для которых имеются строки удовлетворяющие критерию связывания в обеих таблицах. Строки из левой и правой таблиц для которых имеются пары связанной таблицы в результате исключаются.
LEFT – в результат будут включены все строки левой таблицы, независимо от того, есть ли для них соответствующая строка в правой таблице или нет. Для соответствующих колонок правой таблицы включенных в результат устанавливается значение NULL.
RIGHT – при использовании этого ключевого слова в результат будут включены все строки правой таблицы независимо от того, есть ли для них соответствующая строка в левой таблице.
FULL – в результат будут включены все строки как правой, так и левой таблицы. Применение ключевого слова FULL можно рассматривать как одновременное использование ключевых слов LEFT и RIGHT.
ON <search_condition> - логическое условие, определяющее условие связывания двух таблиц. В этом условии используются операторы сравнения >,<,=.