From 8c80fd15409614fee524e43b65a767b6c1f2352e Mon Sep 17 00:00:00 2001 From: Mariusz Felisiak Date: Tue, 11 Jul 2023 22:09:04 +0200 Subject: [PATCH] gh-96165: Clarify omitting the FROM clause in SQLite queries (GH-106513) (cherry picked from commit fc7ff1af457e27b7d9752600b3436641be90f598) Co-authored-by: Mariusz Felisiak --- Doc/library/sqlite3.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Doc/library/sqlite3.rst b/Doc/library/sqlite3.rst index 3ca8ea9011c7e0..26f4bfd06f5bbc 100644 --- a/Doc/library/sqlite3.rst +++ b/Doc/library/sqlite3.rst @@ -2522,6 +2522,13 @@ Queries now return :class:`!Row` objects: >>> row["RADIUS"] # Column names are case-insensitive. 6378 +.. note:: + + The ``FROM`` clause can be omitted in the ``SELECT`` statement, as in the + above example. In such cases, SQLite returns a single row with columns + defined by expressions, e.g. literals, with the given aliases + ``expr AS alias``. + You can create a custom :attr:`~Cursor.row_factory` that returns each row as a :class:`dict`, with column names mapped to values: