【发布时间】:2019-04-04 22:41:33
【问题描述】:
我正在学习 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 条件的同时引用连接在同名列上的两个表是否更短?
- 如果是这样,那么这种样式是否适用于具有多个相同列名的表?
任何想法或 cmets 将不胜感激。感谢您的宝贵时间。
【问题讨论】: