首页 > 解决方案 > pandas.read_sql_query - 如果列名和搜索值都包含空格,如何正确编写 WHERE 条件

问题描述

我这样写SQL查询

df = pd.read_sql_query('SELECT * FROM hr_dataset WHERE "Performance Score" = "Needs Improvement";', conn)
hr_dataset - table
Performance Score - column
Needs Improvement - searched value

列名和搜索值都包含一个空格,这就是我必须使用引号的原因,但此查询结果出错。

**DatabaseError**: Execution failed on sql 'SELECT * FROM hr_dataset WHERE "Performance Score" = "Needs Improvement";': column "Needs Improvement" does not exist
LINE 1: ...ECT * FROM hr_dataset WHERE "Performance Score" = "Needs Imp...

我应该如何正确编写这样的查询?

标签: pythonsqlpandaspsycopg2

解决方案


请使用以下查询,在双引号中提到“需要改进”,其中数据库将其视为列名

SELECT * FROM hr_dataset WHERE Performance Score = 'Needs Improvement';

推荐阅读