12月23日(金)1、2コマ目

前回の確認テスト

正解例をあげておきます。


ほとんどのかたがSQLでつまづいてました。

あと、demo2022ユーザーで接続している人がかなりいました。自分のスキーマを利用してください。

今後、demoユーザーで接続している場合は、無条件にxにします。


今日、やったこと

  • C#+ODP.NET確認テスト1の解説
  • ExecuteScalar()の練習問題
  • ODP.NETで更新系SQLの実行
  • [確認テスト]C#+ODP.NET確認テスト2

今日のホワイトボード

C#+ODP.NET確認テスト1の解説

テーブルの結合条件

往々にしてテーブル間の参照関係が結合条件になる。
図 テーブル間の参照関係

GROUP BYをつかうと

SELECT句には
  • GROUP BY指定列
  • グループ関数
のみ。
図 select句にはgroup by句に指定した列のみ

商品ごとの売上金額出力(ついでに金額も出力したい)

SELECT句で 商品名 と 価格 を出力するには
GROUP BY 商品名, 価格 とする必要がある。
ただ、GROUP BY 商品名, 価格 とすると、商品ごとにはならない気がする…

GROUP BY 商品名, 価格 とすると
 ①まず、商品名でグループ化
 ②①のグループを価格でさらにグループ化 <= グループを細分化するイメージ
のようにグループ化される。
まちがっても、
 ①まず、商品名でグループ化
 ②価格でグループ化 <= ①のグループをリセットしてグループ化するイメージ
ではない!!

このデータでは商品名と価格は1対1の関係になっているため、商品名でグループ化後、価格でグループ化してもグループは別れない。よって、商品名でグループ化と同じ。
図 group by句とselect句

ExecuteScalarの練習問題

正解例をあげておきます。

練習1

CS_商品マスタから最高値を検索

練習2

コマンドライン引数で指定したグループに属する商品の商品点数を検索。


ODP.NETで更新系SQLを実行する

ポイントはSQL実行メソッドが ExecuteNonQuery() を使うだけ。
あとは今までどおり。
ExecuteNonQuery()の戻り値はSQL実行で影響を受けた行数。

サンプル


練習問題1

コマンドライン引数で指定した商品情報をCS_商品マスタに登録。

練習問題2

コマンドライン引数で指定したIDの商品をCS_商品マスタから削除。


次回は

WEBアプリケーションをはじめます。

このブログの人気の投稿

10月3日(木)1コマ目

10月27日(木)1コマ目

10月14日(金)1、2コマ目