python - 在 SQL 查询中创建紧凑的“WHERE”过滤器
问题描述
我有一个长列表(或一个包含 3 到 4 列数据的表),同时需要在查询中得到满足,如下所示:
A B C
x1 y1 z1
x2 y2 z2
x3 y3 z3
.
.
.
xn yn zn
有没有一种方法可以创建一个表达式/函数等或单独的列表等,我可以将其调用到 SQL 查询中(而不是显式编写它):
所以假设,我有这个列表作为表 X 中的矩阵/列表,我可以使用
我可以使用类似的示例 SQL 查询
SELECT *
FROM TABLE B
WHERE CONDITION IN ROWS OF TABLE X
在这里补充一下,我正在使用 python 驱动程序通过数据库获取数据,而我拥有的表 X 是我在本地创建的。
解决方案
您可以使用in
:
SELECT b.*
FROM TABLE B
WHERE (b.a, b.b, b.c) IN (SELECT x.a, x.b, x.c FROM X)
推荐阅读
- kotlin - 听众对第二次呼叫没有反应
- python - 实现骰子游戏
- python - 在 Tensorflow 2.0 中翻转和旋转张量(在 U-net 内)会耗尽内存。如何正确地做到这一点?
- python - 循环遍历视频python中的所有帧
- jestjs - 从 Redux Thunk 模拟调度作为单元测试?
- flutter - 弹出PopUpWindow后如何调用setState(重建页面)?
- reactjs - 使用 React 将图像上传到 Azure Blob 存储
- javascript - Lokesh Dhakar 的“Color Thief”库的实现导致“Uncaught TypeError: Cannot read property '0' of null”
- pandas - 如何使用其他列数据的条件自动填充一列中的行?
- spring-kafka - 何时使用 RecoveryCallback 与 KafkaListenerErrorHandler