mysql - 'like' 内的 SQL 'exists' 条件

标签 mysql sql exists

我有2个Mysql表

  1. 产品,包含 varchar 列 equlik
  2. 首选项,包含 varchar 列equlik

我想从产品中选择所有内容,条件是首选项中至少有一行preferences.equ 等于 products.equ products.lik 就像%preferences.lik%。即 products.lik 包含 preferences.lik 作为子字符串。如何构建这个查询?

最佳答案

您可以按照您所描述的方式构建它:

select p.*
from products p
where exists (select 1
              from preferences pr
              where pr.equ = p.equ and
                    p.lik like concat('%', pr.lik, '%')
             );

关于mysql - 'like' 内的 SQL 'exists' 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57716661/

相关文章:

Mysql-添加当前时间戳字段而不影响现有记录

mysql - 识别其他表中不存在的值

Mysql 查询来计算名称的出现次数,其中它们可能有尾随字符?

mysql - 如何将某些表的创建日期插入到新表中?

SQL - 计算不同价格范围内的商品出现的次数

sql - 检查 SQL 数据库列中是否存在项目列表的最佳方法?

MySQL查询订单三差分字段

mysql - 在 phpmyadmin 中查询更新但在网站中显示错误查询

sql-server - T-SQL 使用 EXISTS 作为列

mysql - 使用 NOT EXISTS 选择所有成员