当前位置: 首页 > 编程笔记 >

在MySQL中搜索多列以进行行匹配

洪宏硕
2023-03-14
本文向大家介绍在MySQL中搜索多列以进行行匹配,包括了在MySQL中搜索多列以进行行匹配的使用技巧和注意事项,需要的朋友参考一下

为此,请使用UNION。让我们首先创建一个表-

mysql> create table DemoTable645 (Id int,FirstName varchar(100));

使用插入命令在表中插入一些记录-

mysql> insert into DemoTable645 values(100,'Chris');
mysql> insert into DemoTable645 values(101,'Robert');
mysql> insert into DemoTable645 values(101,'Bob');
mysql> insert into DemoTable645 values(102,'Carol');
mysql> insert into DemoTable645 values(100,'John');
mysql> insert into DemoTable645 values(100,'Robert');
mysql> insert into DemoTable645 values(101,'Mike');
mysql> insert into DemoTable645 values(101,'John');

使用select语句显示表中的所有记录-

mysql> select *from DemoTable645;

这将产生以下输出-

+------+-----------+
| Id   | FirstName |
+------+-----------+
|  100 | Chris     |
|  101 | Robert    |
|  101 | Bob       |
|  102 | Carol     |
|  100 | John      |
|  100 | Robert    |
|  101 | Mike      |
|  101 | John      |
+------+-----------+
8 rows in set (0.00 sec)

以下是搜索多列的查询-

mysql> select Id AS Records from DemoTable645 where Id LIKE '%100%'
   union
   select FirstName from DemoTable645 where FirstName LIKE '%John%'
   order by 1 LIMIT 3;

这将产生以下输出-

+---------+
| Records |
+---------+
| 100     |
| John    |
+---------+
2 rows in set (0.00 sec)
 类似资料:
  • 问题内容: 我目前有一个搜索字段,使用此代码针对多个列进行搜索: 可以说我在表中有这两行: 如果我键入“ John S”,则仅第一个结果显示哪个是所需的行为。 如果我键入“ John Smith”,则仅第一个结果显示哪个是所需的行为。 如果我键入“ Smith J”,即使Bob不匹配,这两个结果也会显示。 如果我输入“ Smith John”,即使Bob不匹配,这两个结果也会显示。 最后,如果我键

  • 问题内容: 我有一个模式定义为的猫鼬模型- 并且模型定义为- 现在我想从请求对象参数中搜索标题,标签,描述字段,例如 现在,我如何确保也包括任何在标题或描述中找到该术语的结果,而不仅是两个结果都存在。另外,如何在标签数组中搜索匹配的字符串 问题答案: 您可以在猫鼬中使用 $ or 运算符返回匹配项 $ or http://docs.mongodb.org/manual/reference/oper

  • 问题内容: 我想编写一个SQL查询,该查询在文本字段中搜索关键字,但是仅当它是“全字匹配”时(例如,当我搜索“ rid”时,它不应该与“ arid”匹配,但是应该匹配“摆脱”。 我正在使用MySQL。 幸运的是,在该应用程序中性能并不是至关重要的,并且数据库大小和字符串大小都非常小,但是我更喜欢在SQL中而不是在PHP中驱动它。 问题答案: 您可以使用和和字边界标记: 2020年更新:(实际上是2

  • 问题内容: 我正在尝试提供一种搜索功能,该功能将搜索多列以查找基于关键字的匹配项。该查询: 仅适用于搜索一列,我注意到用逗号分隔列名称会导致错误。那么可以在mysql中搜索多个列吗? 问题答案: 您可以使用AND或OR运算符,具体取决于要返回的搜索内容。 这两个子句必须匹配才能返回记录。或者: 如果任一子句匹配,则将返回记录。 有关使用MySQL SELECT查询可以执行的操作的更多信息,请尝试使

  • 问题内容: 我有一个带有utf8一般ci排序规则的MySQL表。在表中,我可以看到两个条目: 阿巴德 阿巴德 我正在使用如下查询: 查询结果给出两个词: 阿巴德 阿巴德 有没有办法表明我只希望MySQL找到带重音的单词?我希望查询仅返回 阿巴德 我也尝试过以下查询: 它没有给我任何结果。感谢您的帮助。 问题答案: 如果您对该字段的搜索始终对重音敏感,则将该字段的排序规则声明为utf8_bin(这将