title: Executing a sqlalchemy exists query
body: <p>I'm having trouble understanding how to execute a query to check and see if a matching record already exists in sqlalchemy.  Most of the examples I can find online seem to reference "session" and "query" objects that I don't have.</p>
  
  <p>Here's a short complete program that illustrates my problem:<br>
  1. sets up in-memory sqlite db with "person" table.<br>
  2. inserts two records into the person table.<br>
  3. check if a particular record exists in the table.  This is where it barfs.</p>
  
  <pre><code>from sqlalchemy import create_engine, Table, Column, Integer, String, MetaData
  from sqlalchemy.sql.expression import exists
  
  engine = create_engine('sqlite:///:memory:', echo=False)
  metadata = MetaData()
  
  person = Table('person', metadata,
                          Column('id', Integer, primary_key=True),
                          Column('name', String(255), nullable=False))
  
  metadata.create_all(engine)
  conn = engine.connect()
  
  s = person.insert()
  conn.execute(s, name="Alice")
  conn.execute(s, name="Bob")
  
  print("I can see the names in the table:")
  s = person.select()
  result = conn.execute(s)
  print(result.fetchall())
  
  print('This query looks like it should check to see if a matching record exists:')
  s = person.select().where(person.c.name == "Bob")
  s = exists(s)
  print(s)
  
  print("But it doesn't run...")
  result = conn.execute(s)
  </code></pre>
  
  <p>The output of this program is:</p>
  
  <pre><code>I can see the names in the table:
  [(1, 'Alice'), (2, 'Bob')]
  This query looks like it should check to see if a matching record exists:
  EXISTS (SELECT person.id, person.name 
  FROM person 
  WHERE person.name = :name_1)
  But it doesn't run...
  Traceback (most recent call last):
    File "/project_path/db_test/db_test_env/exists_example.py", line 30, in &lt;module&gt;
      result = conn.execute(s)
    File "/project_path/db_test/db_test_env/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 945, in execute
      return meth(self, multiparams, params)
    File "/project_path/db_test/db_test_env/lib/python3.6/site-packages/sqlalchemy/sql/elements.py", line 265, in _execute_on_connection
      raise exc.ObjectNotExecutableError(self)
  sqlalchemy.exc.ObjectNotExecutableError: Not an executable object: &lt;sqlalchemy.sql.selectable.Exists object at 0x105797438&gt;
  </code></pre>