Я изучаю SQL и наткнулся на следующий запрос. Я хотел спросить о состоянии предложения "ON" при объединении таблиц:
SELECT c_User.ID
FROM c_User
WHERE EXISTS (
SELECT *
FROM c_Group
JOIN c_Member ON (c_Group.Group_Name LIKE 'mcp%')
WHERE
c_Group.Name = c_Member.Parent_Name
AND c_Member.Child_Name = c_User.Lower_User_Name
)
Я знаю, что таблицы c_Member
и c_Group
имеют один столбец с одинаковым именем, Directory_ID
. Я ожидал, что c_Member
и c_Group
присоединятся к этому столбцу, используя что-то вроде:
c_Group JOIN c_Member ON (c_Group.Directory_ID = c_Member.Directory_ID)
WHERE c_Group.Group_Name like 'mcp%'
Кто-нибудь объяснит, как это условие может соответствовать строкам?
c_Member ON (c_Group.Group_Name LIKE 'mcp%')
- Является ли это более коротким способом ссылки на две таблицы, объединяющиеся в столбце с одинаковым именем, при применении условия LIKE?
- Если так, то может ли такой стиль работать для таблицы с несколькими одинаковыми именами столбцов?
Любые мысли или комментарии будут с благодарностью. Спасибо за ваше время.