インプリシットカラム

ワイルドカードを使ったSQL文は避けろというもの。属性を加えるとエラーになったり、ワイルドカードですべての列を取得するのはパフォーマンスに影響するから、だめだよ。という。列名を明示的に指定しましょう。ということ。
確かに、使う必要のある列のみ取得すべき、というのは全く正しい。ただし、言い換えれば、すべての列を取得するという要件なら、使って良いし、むしろ使うべきだろう。
属性を加えるとエラーになると言っているが、すべての列を取得する要件なら、それは必要なはずである。
ここではタイプ数が減らせるからよいと言っているが、これはそのとおりであり、シンプルな方がよいに決まっている。また、「指定した一部の列を除いたすべての列を求めるワイルドカードはないか」と聞かれるが、そのような構文はない。が、あるととてもシンプルでわかりやすいSQLになると思う。であれば、プリコンパイラなどで作れば良い。
いずれにせよ、必要なものだけ取得するというのは守られるべき原則であり、安易にワイルドカードに頼るのはよくないというのは、そのとおりだと思う。また本書で指摘されているように、将来的に必要かもしれないから取得しておくという態度はほとんどの場合は間違えている。ただ、個人的には正規表現で列名が指定できたら・・とは思うが。