"""
INSERT INTO example_table
    (id, name)
SELECT 1, 'John'
WHERE
    NOT EXISTS (
        SELECT id FROM example_table WHERE id = 1
    );
"""
m = MetaData()
example_table = Table('example_table', m, Column('id', Integer), Column(
    'name', String))
sel = select([literal('1'), literal('John')]).where(~exists([example_table.
    c.id]).where(example_table.c.id == 1))
Postgresql — вставить туда, где его нет, используя INSERT sqlalchemy из SELECT