Hacker News new | ask | show | jobs
by yen223 637 days ago
There are broadly two kinds of people who write SQL: analysts, and developers

For developers, yeah. SELECT * has pitfalls, and you should almost always specify your columns or use a query builder that does that for you.

For analysts though, life is short and sometimes you really don't want to type all the columns out. SELECT * is fine.

1 comments

Analysts usually query data warehouses, which are columnar, so * is a query/warehouse killer. Everybody should just select the columns they need.
This is another area where I wish SQL was more composable. I’d love to be able to specify a bunch of columns using a single reference or a function, without having to resort to dynamic sql. Exclude and rename are a start, but not enough.
So make a VIEW, then SELECT * from that. Non-materialized views are effectively free as far as the DB is concerned; make hundreds of them if you want.