"SELECT FROM foo" acts like "SELECT COUNT(*) FROM foo"?

From: Ron <ronljohnsonjr(at)gmail(dot)com>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: "SELECT FROM foo" acts like "SELECT COUNT(*) FROM foo"?
Date: 2023-02-01 20:00:28
Message-ID: 3833b34a-a4c1-14ee-fcdc-0fa74baa2cd8@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

v12.13

https://www.postgresql.org/docs/12/sql-select.html

The docs say that one of these are required in the SELECT list.

[ * |/|expression|/ [ [ AS ]/|output_name|/ ] [, ...] ]

However, *not* mentioning anything also works, though acts like COUNT(*).

test=# select * from sales_detail;
 cust_id |        order_ts         | seq_no | inventory_id | quantity |
price  | tax_rate
---------+-------------------------+--------+--------------+----------+--------+----------
       1 | 2020-01-05 13:05:42.567 |      1 |        12345 | 5.80 |  28.40
|    0.092
       1 | 2020-01-05 13:05:42.567 |      2 |        23456 | 6.00 |  98.40
|    0.092
       1 | 2020-01-05 13:05:42.567 |      3 |        34567 | 1.80 |  67.00
|    0.092
       1 | 2020-01-05 13:05:42.567 |      4 |        45678 | 450.00 |  
2.00 |    0.092
       1 | 2020-02-05 13:05:42.567 |      1 |         6575 | 5.20 | 567.00
|    0.045
       1 | 2020-02-05 13:05:42.567 |      2 |         4565 | 456.00 |
545.00 |    0.045
       1 | 2020-02-05 13:05:42.567 |      3 |         7899 | 768.00 |
432.00 |    0.045
       1 | 2020-02-05 13:05:42.567 |      4 |         2354 | 556.00 |
890.00 |    0.045
       1 | 2020-03-05 13:05:42.567 |      1 |         6575 | 5.20 | 567.00
|    0.045
       1 | 2020-03-05 13:05:42.567 |      2 |         4565 | 456.00 |
545.00 |    0.045
       1 | 2020-03-05 13:05:42.567 |      3 |         7899 | 768.00 |
432.00 |    0.045
(11 rows)

test=#
test=# select  from sales_detail;
--
(11 rows)

Is it interpreting the lack of column names, expressions or "*" as a null
expression?

We only noticed this when someone forgot to put an asterisk in a psql query
and thought something was broken.  We expected psql to throw a syntax error...

--
Born in Arizona, moved to Babylonia.

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Rodrigo Luna 2023-02-01 20:06:21 Re: "SELECT FROM foo" acts like "SELECT COUNT(*) FROM foo"?
Previous Message Tom Lane 2023-02-01 18:56:02 Re: VACUUM vs VACUUM FULL (was: SELECT * FROM huge_table LIMIT 10; Why does it take more than 10 min to complete, with cold caches)