4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RPG構文 vs SQL文(集計関連)

Posted at

環境情報

今回の検証ではi Learning社の公開しているQEOLのライブラリーを使用しております
https://www.i-learning.jp/service/selfstudy/eol.html

SUM文の例

HNMASPテーブル内の全レコードのHNTEIK(定価)の合計を抽出する

SQL文

      SELECT 'SUM',SUM(HNTEIK) 
         FROM STOYOAMA1.HNMASP

実行結果
image.png

RPG構文

image.png

実行結果
image.png

AVG文の例

HNMASPテーブル内の全レコードのHNTEIK(定価)から平均値を抽出する

SQL文

      SELECT 'AVG',AVG(HNTEIK)
         FROM STOYOAMA1.HNMASP

実行結果
image.png

RPG構文

image.png

実行結果
image.png

MAX文の例

HNMASPテーブル内の全レコードのHNTEIK(定価)から最大値を抽出する

SQL文

      SELECT 'MAX',MAX(HNTEIK)
         FROM STOYOAMA1.HNMASP

実行結果
image.png

RPG構文

image.png

実行結果
image.png

MIN文の例

HNMASPテーブル内の全レコードのHNTEIK(定価)から最小値を抽出する

SQL文

      SELECT 'MIN',MIN(HNTEIK)
         FROM STOYOAMA1.HNMASP

実行結果
image.png

RPG構文

image.png

実行結果
image.png

COUNT文の例

HNMASPテーブル内の全レコード数を抽出する

SQL文

      SELECT 'COUNT',COUNT(*) 
         FROM STOYOAMA1.HNMASP

実行結果
image.png

RPG構文

image.png

実行結果
image.png

GROUP BY文の例

HNMASPテーブル内のレコード数をHNVEND(仕入先番号)ごとにカウントし、抽出する

SQL文

      SELECT HNVEND,COUNT(*)
         FROM STOYOAMA1.HNMASP GROUP BY HNVEND

実行結果
image.png

RPG構文

image.png
image.png

実行結果
image.png

RPG構文 vs SQL文

image.png

所感

単純にSUM、AVG、MAX、MIN、COUNT文を利用する分にはSQLの方が簡単に書くことができ、使用感はどれも同じである。
GROUP BY文はこれらを同DB内の値で分けて集計できるようになるだけで、どの文で使っても同じ使用感だった。
ただし、対象DBが増えたりして複雑化するほど、RPGで書く方が簡単になって行く。
なので、今回のような単純な抽出であれば、SQLの方が向いているが、複雑なプログラムを組む場合はRPGの方が向いていると感じた。


当記事の著作権はIBMに帰属します。
詳細はこちらを参照ください。

4
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?