Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Объединение двух таблиц





Рассмотрим следующий запрос:

select employee.name, department.name

from employee, department

where employee.departmentID = department.departmentID;

Здесь в выражении FROM вместо одной таблицы указаны две. В данном случае мы хотели бы извлечь из базы данных имена служащих вместе с названиями отделов, в которых они работают. Результат будет следующим:

Как получился такой результат? Сначала мы выбрали столбцы, принадлежа­щие двум разным таблицам. (Как видите, мы применили нотацию, использующую точку-разделитель, чтобы различить поле name из таблицы employee и поле name из таблицы department.) Для этого потребовалось включить обе таблицы в выражение FROM.

Наиболее интересным в этом запросе является выражение WHERE. Если вы­полнить подобный запрос без выражения WHERE,

select employee.name, department.name

from employee, department;

мы получим следующий результат:

В первом запросе, использующем выражение WHERE, отобразились имена слу­жащих с соответствующими названиями отделов, а во втором — все возможные комбинации имен служащих и названий отделов. Однако это не дает никакой возможности выяснить, какие строки несут правильную информацию, а какие — ложную. Результирующее множество, содержащее все возможные комбинации данных из двух таблиц, называют декартовым произведением этих таблиц.

Набор условий, используемых при создании связи для объединения таб­лиц, называют условием объединения. В данном случае мы использовали условие employee. departmentID = department. departmentID, которое связы­вает таблицы по внешним ключам нашей оригинальной схемы.

Когда требуется извлечь информацию сразу из нескольких таблиц, для нахож­дения этой информации приходится использовать имеющиеся между таблицами связи. Иногда это означает необходимость найти путь от уже имеющейся ин­формации к информации, нужной вам.

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

select employee.name as employeeName,

department.name as departmentName

from employee, department

where employee.departmentID = department.departmentID


В таком представлении результат выглядит более понятным

 

Date: 2016-07-25; view: 350; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию