以下查询对我来说绝对正常:
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, '%')
);
这与查询没有完全相同的作用。它做一些更合理的事情。它会确定子查询中是否有 任何
匹配项,而不是比较子查询中的一个随机名称。对于查询来说,这似乎是一个更合理的意图。
问题内容: 我非常确定我们不能将LIMIT子句用于我想做的事情-因此想确定是否还有其他方法可以实现此目的。 我有一个表,其中捕获了哪个用户访问了哪个商店。每次用户访问商店时,都会在此表中插入一行。 一些领域是 shopping_id(primary key) store_id user_id 现在,我想要的是-对于给定的一组商店,找到访问该商店的最大次数的前5位用户。 我可以一次在1个商店中进行以
背景:我有一个目录,其中包含许多导入SQL服务器的文件。 任务:创建PowerShell脚本,该脚本将拾取此目录中的文件,并使用SQL查询中的文件名。 最终目标:除了显示文件名之外,显示SQL结果,但显示的结果集也应该显示服务器中没有条目SQL文件。类似于SQL服务器查询中的。 Powershell代码 到目前为止完成的工作:我已经能够使用Get-ChildItem获取文件名并循环它们以获取查询结
我在sqlite查询结果的子查询中遇到问题。当执行下面的查询时,成功返回Sqlite数据库中的结果,但当运行程序时,它不返回任何值。我在下面的程序中做错了什么。请给我一些建议。 查询: java程序:
问题内容: 我想知道是否可以限制SQL请求的结果? 例如,最多只返回以下内容的50行: 谢谢。 问题答案: 是的,这是可能的。这在数据库引擎之间有所不同。 Postgres: SQL Server: …
问题内容: 无论如何,SQL Server中是否可以确定结果集中Mgmt Studio的查询中查询返回的数据的MEGS大小? 问题答案: 您可以打开客户端统计信息(“查询”菜单,“包括客户端统计信息”),该统计信息提供了执行查询时从服务器返回的字节数。
问题内容: 我想进行一个查询,该查询将返回我的实体以及与其关联的实体之一的数量。例如: 我的Contact实体具有一个名为FormsCount的属性,但由于没有在表中命名的列,因此未映射该属性。是否可以编写一个LINQ查询,使我返回具有填充的其他FormsCount属性的Contact实体? 另外,如果可以在单独的字段中获取FormsCount值,并且可以将其手动复制到实体,我会很高兴。查询的结果