From 805ac6d9c8e664385e3b387a37d95b3eadc0ee2f Mon Sep 17 00:00:00 2001 From: Federico Caselli Date: Sat, 27 Jun 2020 21:46:28 +0200 Subject: [PATCH] Provide example for exists Fixes: #5423 Change-Id: I716f8de17c49d7eefbbce5ddd9da203bfc9fe47f (cherry picked from commit 90a97ad9b63d5aa80439a20e7a9db450026d58de) --- lib/sqlalchemy/sql/selectable.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/sqlalchemy/sql/selectable.py b/lib/sqlalchemy/sql/selectable.py index 56962271b6..1e73d64552 100644 --- a/lib/sqlalchemy/sql/selectable.py +++ b/lib/sqlalchemy/sql/selectable.py @@ -4048,7 +4048,15 @@ class Exists(UnaryExpression): # use on an existing select() s = select([table.c.col1]).where(table.c.col2==5) - s = exists(s) + s_e = exists(s) + + # an exists is usually used in a where of another select + # to produce a WHERE EXISTS (SELECT ... ) + select([table.c.col1]).where(s_e) + + # but can also be used in a select to produce a + # SELECT EXISTS (SELECT ... ) query + select([s_e]) # construct a select() at once exists(['*'], **select_arguments).where(criterion) -- 2.47.2