-1

これらのクエリを構造化して、完全なSQLにする必要があります。クエリはSQLServerデータベースに対するものである必要があります。データベースStoresDB、テーブルがありますitems_table

を取得する必要があります

  1. このテーブル内のアイテムの総数

  2. 価格が£10以上のアイテムの数-列名は金額です

  3. コンピュータカテゴリのアイテムのリスト-列名='comp_id'を減少した量でソートします。

上記のリクエストに対して、私は以下を試みました:

  1. SELECT COUNT(*) FROM items_table

  2. Select * from items_table where amount >= 10

  3. Select * from items_table where comp_id = ’electronics’ desc

私はSQLに非常に慣れていないので、これを正しく試みたかどうかはわかりません。

4

2 に答える 2

1

この種のクエリを作成するときは、いくつかのことを知っておくとよいでしょう。

a)SELECT COUNT(*) FROM items_table

このクエリは正しく記述されています。

b)SELECT COUNT(*) FROM items_table WHERE amount >= 10

amountクエリはOKですが、WHERE句をカバーするインデックスを作成することを選択します。この場合、列に非クラスター化インデックスを設定することをお勧めします。

c)SELECT * FROM items_table WHERE comp_id = 'electronics' ORDER BY price DESC

この最後のクエリでは、結果としてすべての列を検索するという問題があります。SELECT * ...これは本番環境では悪い習慣と見なされるため、すべての列ではなく、本当に必要な列のみをSELECTリストに入れる必要があります。また、SELECTリストの列を含めて、comp_id列に非クラスター化インデックスを作成することもできます。

于 2013-03-24T21:14:55.317 に答える
0

a)正しく見えます。

b)カウントを求められていますが、リストを照会しています。

    SELECT COUNT(*) FROM items_table WHERE price >= 10

c)これは良さそうですが、ORDER BYステートメントがありません。

    SELECT * FROM items_table WHERE catID='electronics' ORDER BY price DESC
于 2013-03-24T19:31:18.900 に答える