MySQL多表关联后WHERE子句不生效问题求助
问题解决:WHERE子句无法生效的原因及修正
你的SQL语句语法顺序错误,WHERE子句必须放在ORDER BY子句之前——MySQL执行SQL有固定逻辑顺序(SELECT → FROM/JOIN → WHERE → ORDER BY),顺序颠倒会导致数据库无法正确解析筛选条件,自然无法生效。
修正后的SQL语句
SELECT wp_users.ID, post_name FROM wp_users LEFT JOIN wp_posts ON wp_users.ID = wp_posts.user_id WHERE wp_users.ID = 2 ORDER BY wp_users.ID
补充提示
- 数字类型的ID无需加引号,直接写
2更规范,可避免不必要的类型转换问题 - 关联字段建议加上表名前缀(比如
wp_posts.user_id),防止多张表存在同名字段时产生歧义
内容的提问来源于stack exchange,提问作者Aleksandar Ajdarevic
相关产品推荐
相关产品推荐

