MySQL从何处加入

MySQL从何处加入,mysql,database,join,where,Mysql,Database,Join,Where,我想从数据库中选择一行并加入该行 当我使用此命令时,它工作正常: SELECT p.* FROM pages AS p JOIN products AS pro ON pro.page_id = p.id 但在执行以下命令时,我得到一个错误: select p.* from pages as p where p.id = 21605 join products as pro on pro.page_id = p.id 这是为什么?我怎样才能得到第二个命令的结果?您的语法不正确 SELECT

我想从数据库中选择一行并加入该行

当我使用此命令时,它工作正常:

SELECT p.* FROM pages AS p
JOIN products AS pro ON pro.page_id = p.id
但在执行以下命令时,我得到一个错误:

select p.* from pages as p where p.id = 21605
join products as pro on pro.page_id = p.id

这是为什么?我怎样才能得到第二个命令的结果?

您的语法不正确

SELECT p.* FROM pages AS p
JOIN products AS pro 
ON pro.page_id = p.id
WHERE p.id = 21605

SELECT T.* 
FROM (SELECT p.* FROM pages AS p WHERE p.id = 21605) AS T
JOIN products AS pro 
ON pro.page_id = T.id

你的语法不正确

SELECT p.* FROM pages AS p
JOIN products AS pro 
ON pro.page_id = p.id
WHERE p.id = 21605

SELECT T.* 
FROM (SELECT p.* FROM pages AS p WHERE p.id = 21605) AS T
JOIN products AS pro 
ON pro.page_id = T.id

谢谢它是有效的,其中一个算是更好的练习吗?如果是,原因是什么?第一个更好,因为它避免了子查询。基本的SELECT语法是从tablename JOIN table和On子句中选择列列表,其中条件GROUP BY column list ORDER BY column list LIMIT start offset,LIMIT。你省略了那些不需要的。是的@Sloancher是对的。第一个是正确的。如果你得到了你的答案,请接受并更新银行!它是有效的,其中一个算是更好的练习吗?如果是,原因是什么?第一个更好,因为它避免了子查询。基本的SELECT语法是从tablename JOIN table和On子句中选择列列表,其中条件GROUP BY column list ORDER BY column list LIMIT start offset,LIMIT。你省略了那些不需要的。是的@Sloancher是对的。第一个是正确的。如果你得到了答案,请接受并投票