Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 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 В таком представлении результат выглядит более понятным
|