1. ホーム
  2. sql-server-2008

[解決済み] select 1 from "は何をするのですか?

2022-03-12 22:01:42

質問

いくつかの記事を読みましたが、何がどうなっているのかよくわかりませんでした。 select 1 from を行うのでしょうか? ある人は select 1 の代わりに select * "です。 以下はテーブルの例です。

cust_id     cust_name       cust_address

1000000001  Village Toys    Mapl
1000000002  Kids Place      South
1000000003  Fun4All         Sunny
1000000004  Fun4All         Riverside
1000000005  The Toy Store   53rd

と書くと、どのような結果になるのでしょうか。 select 1 from customer_table この文は何をするのですか?

どのように解決するのですか?

select 1 from table

は、テーブルの各行に対して 1 の列を返します。これを where 文と一緒に使って、指定したキーに対応する項目があるかどうかをチェックすることができます。

if exists(select 1 from table where some_column = 'some_value')

その友人が言っていたのは、select * from tableで一括選択するのではなく、必要なカラムを正確に指定するべきだということでしょう。

1) パフォーマンス & 実際に必要なデータよりも多くのデータを取得する可能性があります。

2) クエリーのユーザーは、カラムの順番に依存することがあります。あなたのテーブルが更新された場合、クライアントは予想と異なる順序でカラムを受け取ることになります。