This works the way I expect (c is a cursor)
c.execute('''SELECT e1.file, e1.sourceUrl, e1.rev
FROM externals1 AS e1
LEFT JOIN externals as e0
ON (e1.file = e0.file)
AND (e1.rev <> e0.rev)
''')
but I get an error here:
c.execute('''SELECT e1.file, e1.sourceUrl, e1.rev
FROM externals1 AS e1
LEFT JOIN externals as e0
ON (e1.file = e0.file)
AND (e1.rev IS NOT e0.rev)
''')
with the message
sqlite3.OperationalError: near "e0": syntax error
What's going on? I want to handle the case where e0.rev is NULL.