Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Чтение всех столбцов

ПОЛНЫЕ ИМЕНА СТОЛБЦОВ

В учебной базе данных имеется несколько случаев, когда две таблицы содержат столбцы с одинаковыми именами. Например, столбцы с именем sales имеются в таблицах offices и salesreps. В столбце sales таблицы offices содержится объем продаж на текущую дату года для каждого офиса; в аналогичном столбце таблицы salesreps содержится объем продаж на текущую дату года для каждого служащего. Обычно с этими двумя столбцами затруднений не возникает, поскольку в предложении from задается соответствующая таблица, как в следующих примерах:

Хотя в формулировке запроса на естественном языке подразумевается столбец sales из таблицы salesreps, созданный запрос SQL является неоднозначным. Чтобы исключить разночтения, при указании столбцов необходимо использовать их полные имена. Полное имя столбца содержит имя столбца и имя таблицы, в которой он находится. Полные имена двух столбцов sales в учебной базе данных будут такими:

OFFICES. SALES и SALESREPS. SALES

В операторе SELECT вместо простых имен столбцов всегда можно использовать полные имена. Таблица, заданная в полном имени столбца, должна, конечно, соответствовать одной из таблиц, заданных в предложении from. Вот исправленный вариант предыдущего запроса, в котором используется полное имя столбца:

Никогда не помешает использовать в многотабличных запросах полные имена столбцов. Недостатком, конечно, является то, что запросы становятся длиннее. В интерактивном режиме можно сначала попробовать запрос с простыми именами столбцов, чтобы найти все сомнительные столбцы. Если выдается сообщение об ошибке, запрос редактируют и точно указывают столбцы с повторяющимися именами.

Оператор select * используется для чтения всех столбцов таблицы, указанной в предложении from. В многотабличном запросе звездочка означает выбор всех столбцов из всех таблиц, указанных в предложении from. Например, таблица результатов следующего запроса состоит из пятнадцати столбцов (девять столбцов из таблицы salesreps и следом за ними шесть столбцов из таблицы offices):

Очевидно, что оператор select * становится гораздо менее практичным, когда в предложении from указаны две, три или более таблицы.

Многие диалекты SQL трактуют звездочку как особый вид универсального имени столбца, которое распространяется на все столбцы. В этих диалектах звездочка наряду с именем таблицы используется вместо списка полных имен столбцов. В следующем запросе имя salesreps. * означает список имен всех столбцов таблицы salesreps:

Таблица результатов запроса будет иметь одиннадцать столбцов — девять столбцов таблицы salesreps и следом за ними два столбца таблицы offices, указанных явно. Хотя такой тип "полных имен всех столбцов" поддерживается многими СУБД, он не допускается стандартом ANSI/ISO.

<== предыдущая лекция | следующая лекция ==>
Несколько связанных столбцов | Самообъединения
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 286; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.051 сек.