Musisz poprawnie zacytować swoje zapytanie SQL. Jeśli spojrzysz na podświetlanie składni w swoim pytaniu (lub IDE), zauważysz, że pojedyncze cudzysłowy nie działają zgodnie z oczekiwaniami.
Zmień skrajne cudzysłowy na cudzysłowy podwójne – jeśli chcesz to wszystko w jednym wierszu – lub potrójne, jeśli chcesz to w wielu wierszach:
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)