sql >> データベース >  >> RDS >> Sqlserver

SELECT COUNT(*);

    通常、すべての選択はSELECT [columns, scalar computations on columns, grouped computations on columns, or scalar computations] FROM [table or joins of tables, etc]の形式になります。

    これによりプレーンなスカラー計算が可能になるため、SELECT 1 + 1 FROM SomeTableのようなことができます。 そして、テーブルSomeTableのすべての行に対して値2のレコードセットを返します。 。

    ここで、テーブルを気にせず、スカラー計算を実行したいだけの場合は、SELECT 1 + 1のような操作を実行することをお勧めします。 。これは標準では許可されていませんが、便利であり、ほとんどのデータベースで許可されています(Oracleは、最近変更されない限り、少なくとも以前は許可されていませんでした)。

    したがって、このような裸のSELECTは、1行で列のないテーブルを指定するfrom句があるかのように扱われます(もちろん不可能ですが、それでうまくいきます)。したがって、SELECT 1 + 1 SELECT 1 + 1 FROM ImaginaryTableWithOneRowになります これは、値が2の単一の列を持つ単一の行を返します 。

    ほとんどの場合、これについては考えていません。裸のSELECTで結果が得られるという事実に慣れているだけで、1行を返すために1行のものを選択する必要があるという事実についても考えていません。

    SELECT COUNT(*)を実行する場合 SELECT COUNT(*) FROM ImaginaryTableWithOneRowと同等の処理を行いました もちろん1を返します。



    1. Group byは、時間でグループ化するときに0を返す必要があります。これを行う方法?

    2. PostgreSQLネストされたJSONクエリ

    3. 複数でありながら相互に排他的な外部キー-これは進むべき道ですか?

    4. sugarcrmの単純なクエリが機能しない