首页 >数据库 >mysql教程 >如何高效地从列表中查询匹配元组的数据库记录?

如何高效地从列表中查询匹配元组的数据库记录?

Patricia Arquette
Patricia Arquette原创
2024-12-27 14:40:10908浏览

How to Efficiently Query Database Records Matching Tuples from a List?

SQL“IN”子句中的元组

问:如何有效地从数据库表中查询与硬编码中的元组匹配的记录list?

A: 标准 SQL-92 语法提供了解决方案使用 VALUES 关键字。

SELECT *
FROM mytable
WHERE (group_id, group_type) IN (
                               VALUES ('1234-567', 2),
                                      ('4321-765', 3),
                                      ('1111-222', 5)
                              );

实现详细信息:

  • 将元组括在单引号中,而不是双引号中。
  • 在列表之前添加 VALUES 关键字元组。

此语法的优点:

  • 消除了昂贵的字符串连接和转换的需要。
  • 支持元组多种的值。

数据库兼容性:

  • 标准 SQL-92 兼容数据库支持此语法。
  • 自 SQL Server 2022 起,微软尚未实现此功能。
  • PostgreSQL 和 SQLite 是示例支持此语法的数据库。

以上是如何高效地从列表中查询匹配元组的数据库记录?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn