对SQL子查询的结果使用“ LIKE”

Shreyas SG

以下查询对我来说绝对正常:

SELECT * From Customers
WHERE Customers.ContactName = (SELECT FirstName
                               FROM Employees as E, orders as O
                               WHERE <condition>
                               LIMIT 1);

但是,如果我使用LIKE而不是=与子查询的结果进行比较,则不会得到任何结果。如何LIKE '%%'在上述查询中使用?

戈登·利诺夫

首先,这个查询应该不会是工作的罚款:

SELECT *
From Customers
WHERE Customers.ContactName = (SELECT FirstName
                               from Employees as E, orders as O
                               WHERE LIMIT 1);

因为WHERE LIMIT 1不正确的SQL。并且,您应该学习使用正确的join语法。大概您打算:

SELECT c.*
From Customers c
WHERE c.ContactName = (SELECT FirstName
                       FROM Employees as E JOIN
                            Orders as O
                            ON . . .
                       LIMIT 1
                      );

可以想象,您可以在子查询中添加LIKE代替=和'%':

WHERE c.ContactName LIKE (SELECT CONCAT('%', FirstName, '%') . . .

但我会这样写EXISTS

SELECT c.*
From Customers c
WHERE EXISTS (SELECT 1
              FROM Employees as E JOIN
                   Orders as O
                   ON . . .
              WHERE c.ContactName LIKE CONCAT('%', FirstName, '%')
             );

这与查询的功能不完全相同。它做了一些更合理的事情。它会确定子查询中是否有任何匹配项,而不是比较子查询中的一个随机名称对于查询来说,这似乎是一个更合理的意图。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Zend框架Sql LIKE查询无结果

来自分类Dev

使用LIKE或MATCH的sql查询

来自分类Dev

如何在另一个查询的LIKE条件下使用SQL查询结果?

来自分类Dev

在另一个查询的LIKE条件下如何使用SQL查询结果?

来自分类Dev

Oracle SQL LIKE查询

来自分类Dev

Oracle SQL LIKE查询

来自分类Dev

使用LIKE'%的SQL参数化查询?%'PHP

来自分类Dev

Rails中使用%和LIKE的SQL查询

来自分类Dev

SQL查询,同时使用IN和LIKE。可能的?

来自分类Dev

Like中的子查询字段

来自分类Dev

使用LIKE的MYSQL查询

来自分类Dev

SQL:Not Like产生的结果与Like相反的结果不同

来自分类Dev

SQL:Not Like产生的结果与Like相反的结果不同

来自分类Dev

Tarantool中的SQL LIKE查询

来自分类Dev

SQL LIKE查询:转义通配符

来自分类Dev

SQL 查询 LIKE 语句错误

来自分类Dev

在 SQL 中使用 LIKE

来自分类Dev

使用NOT LIKE在Access中查询

来自分类Dev

子查询成LIKE条件的mysql

来自分类Dev

如何使用like语句运行SQL更新查询

来自分类Dev

如何使用like语句运行SQL更新查询

来自分类Dev

使用like搜索包含单词的sql查询是什么

来自分类Dev

使用 Peewee 对数组进行 LIKE SQL 查询

来自分类Dev

如何在 sql 查询中使用 WhereBetween 日期和 %LIKE%

来自分类Dev

在 mssql 中使用 LIKE 运算符设置 sql 查询

来自分类Dev

在 sql 查询中使用 LIKE 时出现语法错误

来自分类Dev

如何在带有IN子句和子查询的查询中使用多个LIKE语句?

来自分类Dev

SQL查询按日期降序并带有多个“ like”子句以非常特定的顺序获取结果

来自分类Dev

如何在SQL Server查询中一起使用LIKE和NOT LIKE