首页 / MYSQL / 关于mysql的子查询
关于mysql的子查询
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了关于mysql的子查询,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1602字,纯文字阅读大概需要3分钟。
内容图文
![关于mysql的子查询](/upload/InfoBanner/zyjiaocheng/195/4c93f6b0ba374ee0989b13d1035b2b05.jpg)
SELECT `sid` FROM `x_search` WHERE `id`=6 的结果是 1,2
如何让第一句SQL实现 SELECT * FROM `x_shop` WHERE `id` IN(1,2) 的效果?
应用场景:为商家设置多个关键字(搜索),以下两种方案那种好一点?
1.建立一个表字段: id、key、sid 其中sid是记录商家ID
2.shop表中添加key字段,并设置全文索引
两个问题,求助
回复讨论(解决方案)
SELECT a.* FROM `x_shop` AS a, `x_search` AS b WHERE a.id = b.sid AND b.id=6
没其他需求就用2把, 原来SQL语句还能这样用 酷
SELECT a.* FROM `x_shop` AS a, `x_search` AS b WHERE a.id = b.sid AND b.id=6
我的意思是SELECT `sid` FROM `x_search` WHERE `id`=6 的结果是 (1,2) 不是1或者2
没其他需求就用2把, 原来SQL语句还能这样用 酷
全文索引性能是否很差
你主帖中的sql不行?
你主帖中的sql不行?
可是执行,但是假如结果为(1,2) 只查询1 其实也就是等于不行
in(1,2) 可以查询1和2 出来吧
in(1,2) 可以查询1和2 出来吧
SELECT * FROM `x_shop` WHERE `id` IN(1,2) 可以查询两条
SELECT * FROM `x_shop` WHERE `id` IN(SELECT `sid` FROM `x_search` WHERE `id`=6) 就不行,只能查到一条
你的“SELECT `sid` FROM `x_search` WHERE `id`=6 的结果是 1,2”
只说返回的是有一条记录且 sid 的值是“1,2”,是吗?
如果是则可写作
SELECT * FROM `x_shop` WHERE find_in_set(`id`,(SELECT `sid` FROM `x_search` WHERE `id`=6))
你的“SELECT `sid` FROM `x_search` WHERE `id`=6 的结果是 1,2”
只说返回的是有一条记录且 sid 的值是“1,2”,是吗?
如果是则可写作
SELECT * FROM `x_shop` WHERE find_in_set(`id`,(SELECT `sid` FROM `x_search` WHERE `id`=6))
版主V587
内容总结
以上是互联网集市为您收集整理的关于mysql的子查询全部内容,希望文章能够帮你解决关于mysql的子查询所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。