Musíte správně citovat svůj SQL dotaz. Pokud se podíváte na zvýraznění syntaxe ve své otázce (nebo IDE), všimnete si, že jednoduché uvozovky nefungují tak, jak očekáváte.
Změňte nejvzdálenější uvozovky na dvojité uvozovky – chcete-li vše na jednom řádku – nebo trojité uvozovky, chcete-li to na více řádcích:
query = """SELECT*
FROM TRANSACTION
WHERE DIA_DAT >=to_date('15.02.28 00:00:00', 'YY.MM.DD HH24:MI:SS')
AND (locations <> 'PUERTO RICO'
OR locations <> 'JAPAN')
AND CITY='LONDON'"""
df_ora = pd.read_sql(query, con=connection)