正确查询MySQL使用WHERE ON INNER JOIN正确的顺序和语法

时间:2013-02-02 19:33:22

标签: mysql inner-join where-clause

只是尝试使用Joins并找出最佳用法和查询表达方式。试图让所有宠物为所有者 - 我是否通过比较调用联接?

SELECT *
FROM VISITOR
INNER JOIN OWNER ON VISITOR.OWNER_ID = 1
AND OWNER.ID = 1

或者,我是否调用完整连接并添加WHERE语句?

SELECT *
FROM VISITOR
INNER JOIN OWNER ON VISITOR.OWNER_ID = OWNER.ID
WHERE VISITOR.OWNER_ID =1

关于什么是正确方法的任何解释也将不胜感激。 谢谢大家:))

1 个答案:

答案 0 :(得分:2)

查询时,通常根据表到表关系字段建立连接。此外,您可以在相应级别添加其他条件,以进一步过滤最终数据集。那说......

SELECT 
      *
   FROM 
      VISITOR V
         INNER JOIN OWNER Own
            ON V.OWNER_ID = Own.OWNER_ID
   WHERE
      V.OWNER_ID = 1

确保在“owner_id”键上的访问者表上有索引以帮助优化...或者,您可以将其反转,例如

SELECT 
      *
   FROM 
      OWNER Own
         JOIN VISITOR V
            ON Own.OWNER_ID = V.OWNER_ID
   WHERE
      Own.OWNER_ID = 1