VALUES(?) как работает в Sqlite3/Python?

Не могу разобраться как использовать переменные в запросах к БД Sqlite3 в Python3. Можно ли использовать конструкции с VALUES(?) после FROM (когда имя таблицы берется из переменной), и после WHERE (когда в условиях сравниваются переменные со значениями столбцов). В INSERT INTO - работает, просто вставляет значения столбцов. А в данном простом запросе выборки с условием никак. Не хочется верить, что это не реализовано.

ПРИМЕР:

table1 = "days"
yr="2022"
d="1"
m="1"

cur.execute("""SELECT ym1, ym2 FROM (VALUES(?)) WHERE (year = VALUES(?)) AND (month = VALUES(?)) AND (day = VALUES(?));""", (table1, yr, d, m))

Ошибка:

sqlite3.OperationalError: near "VALUES": syntax error


Ответы (2 шт):

Автор решения: Qwertiy

Про таблицу не в курсе, подозреваю что нельзя. Но что вообще делает слово values во всех этих местах? Это ж не update.

WHERE (year = VALUES(?)) AND (month = VALUES(?)) AND (day = VALUES(?))
WHERE year = ? AND month = ? AND day = ?
→ Ссылка
Автор решения: Namerek
table1 = "days"
yr="2022"
d="1"
m="1"

cur.execute(
  f"SELECT ym1, ym2 FROM {table1} WHERE year = ? AND month = ? AND day = ?;", 
  (table1, yr, d, m)
)
→ Ссылка