首先,让我解释一下,我已经搜索了至少一个小时,寻找关于MySQL中这个非常常用的关键字的任何信息。问题在于,我使用任何搜索引擎查找与其相关的信息时,都会匹配到最琐碎和不相关的结果中的单词“ON”。我在浏览MySQL的文档时也没有找到什么有用的信息。
我看到INNER JOIN与ON一起作为条件使用,但我不知道它是做什么的。以下是一个使用示例:
SELECT t1.name, t2.salary
FROM employee AS t1 INNER JOIN info AS t2 ON t1.name = t2.name;
我知道"WHERE"和"HAVING"的区别在于前者过滤行,后者过滤分组。
但我无法想象"ON"过滤什么。
我原以为它可能是在使用INNER JOIN时进行过滤所必需的,但我之前在INNER JOIN的情况下使用了WHERE,比如这里:
SELECT g.id, g.name, g.date_created, g.date_updated, g.created_by,
c.fullname AS creator_name, g.updated_by, u.fullname AS updater_name,
COUNT(i.id) as image_count
FROM gallery_groups g INNER JOIN
users c INNER JOIN
users u INNER JOIN
gallery_images i
WHERE g.created_by=c.id AND g.updated_by=u.id AND i.group=g.id
GROUP BY g.name
ORDER BY g.date_updated DESC, g.name
有任何信息和/或示例将不胜感激!