求大佬解释下这两个SQL语句?
select id from app where id in (select id from app limit 1);
select id from app where id in (select id from (select id from app limit 1) as t);
第一个报错:
select id from app where id in (select id from app limit 1)
1235 - This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
第二个正确.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
MySQL
就规定了IN/ALL/ANY/SOME
子查询中不能使用LIMIT
啊IN/ALL/ANY/SOME 子查询中不能使用 LIMIT
其实第二个是多嵌套了一层以避免这个报错,就是mysql不支持limit和in同时出现在子查询中。
更简单的方法是把子查询放到from后面。
select id from (select id from app limit 1) subqueryname;