Эквисоединение таблиц

Актуальные строки можно отобрать из декартово произведения путем ввода в запрос параметра WHERE, в котором устанавливается соответствие между полями, посредством которых каждая пара таблиц связана между собой.

Эквисоединение таблиц в предыдущем запросе выглядит следующим образом:

SELECT Students.*, St_Hobby.*

FROM Students, St_Hobby

WHERE Students.N_z= St_Hobby.N_z;

Естественное соединение таблиц

Естественным соединением таблиц называется такое соединение, из которого исключены дубликаты столбцов, по которым проводилось эквисоединение (Students.N_z и St_Hobby.N_z). Для исключения дубликатов в операторе SELECT необходимо явно указать только один из столбцов этих пар, принадлежащего главной таблице:

SELECT Students.N_z, Students.F_Name, Students.S_Name, Students.B_Data, ST_Hobby.Hobby_name

FROM Students, St_Hobby

WHERE Students.N_z= St_Hobby.N_z;

Композиция таблиц

Композицией таблиц называется соединение, из которого полностью исключены столбцы, по которым производилось соединение.

Соединение таблиц с дополнительным условием

Наравне с уловными выражениями, предназначенными для указания способа соединения таблиц между собой, в параметре WHERE можно дополнительно указывать все описанные выше дополнительные условия фильтрации, объединенные с условными выражениями соединения при помощи оператора AND. Например:

-- получение информации о студентах из групп 2011,2012,3014 и их хобби

SELECT Students.N_z, Students.F_Name, Students.S_Name, Students.B_Data, ST_Hobby.Hobby_name

FROM Students, St_Hobby

WHERE Students.N_z= St_Hobby.N_z AND Students.N_gr IN (2011,2012,3014);


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: