選択する * と選択する 列名の違い

「SELECT *」は、データベーステーブルからすべての列のデータを取得するためのクエリ文です。この文は、そのテーブルに何列あっても、すべての列のデータを返します。

“SELECT 列名” は、データベーステーブルから特定の列のデータを取得するためのクエリです。選択した列のデータのみを返し、他の列のデータは返しません。

以下の違いがあります:

  1. データの返り値:「SELECT *」は全ての列のデータを返し、「SELECT 列名」は選択した列のデータのみを返すため、返り値のデータ量を削減できる。
  2. SELECT * は、テーブル全体をスキャンして全列のデータを取得する必要がありますが、SELECT 列名 は選択した列のみをスキャンするため、検索パフォーマンスが向上します。
  3. SELECT文において、”SELECT 列名” は返すべき列が明確に指定されているため、クエリ文をより読みやすくし、保守性も高めます。一方、”SELECT *” を使用するとすべての列が返されるため、クエリ文が理解しにくく、保守性が低下する可能性があります。
  4. 列の順序は、”SELECT 列名”によって選択した列の順序で並べられ、一方で”SELECT *”によって選択した場合は、表中の列の順序で並べられます。

以上の理由から、実際の開発では、できるだけ「SELECT 列名」を使用して、返す列を明確に指定することをお勧めします。これにより、パフォーマンスと可読性が向上します。

bannerAds