Vous devez citer correctement votre requête SQL. Si vous regardez la coloration syntaxique dans votre question (ou un IDE), vous remarquerez que les guillemets simples ne fonctionnent pas comme prévu.
Remplacez les guillemets extérieurs par des guillemets doubles - si vous voulez tout sur une seule ligne - ou par des guillemets triples si vous voulez qu'il soit réparti sur plusieurs lignes :
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)