環境情報
今回の検証ではi Learning社の公開しているQEOLのライブラリーを使用しております
https://www.i-learning.jp/service/selfstudy/eol.html
SUM文の例
HNMASPテーブル内の全レコードのHNTEIK(定価)の合計を抽出する
SQL文
SELECT 'SUM',SUM(HNTEIK)
FROM STOYOAMA1.HNMASP
RPG構文
AVG文の例
HNMASPテーブル内の全レコードのHNTEIK(定価)から平均値を抽出する
SQL文
SELECT 'AVG',AVG(HNTEIK)
FROM STOYOAMA1.HNMASP
RPG構文
MAX文の例
HNMASPテーブル内の全レコードのHNTEIK(定価)から最大値を抽出する
SQL文
SELECT 'MAX',MAX(HNTEIK)
FROM STOYOAMA1.HNMASP
RPG構文
MIN文の例
HNMASPテーブル内の全レコードのHNTEIK(定価)から最小値を抽出する
SQL文
SELECT 'MIN',MIN(HNTEIK)
FROM STOYOAMA1.HNMASP
RPG構文
COUNT文の例
HNMASPテーブル内の全レコード数を抽出する
SQL文
SELECT 'COUNT',COUNT(*)
FROM STOYOAMA1.HNMASP
RPG構文
GROUP BY文の例
HNMASPテーブル内のレコード数をHNVEND(仕入先番号)ごとにカウントし、抽出する
SQL文
SELECT HNVEND,COUNT(*)
FROM STOYOAMA1.HNMASP GROUP BY HNVEND
RPG構文
RPG構文 vs SQL文
所感
単純にSUM、AVG、MAX、MIN、COUNT文を利用する分にはSQLの方が簡単に書くことができ、使用感はどれも同じである。
GROUP BY文はこれらを同DB内の値で分けて集計できるようになるだけで、どの文で使っても同じ使用感だった。
ただし、対象DBが増えたりして複雑化するほど、RPGで書く方が簡単になって行く。
なので、今回のような単純な抽出であれば、SQLの方が向いているが、複雑なプログラムを組む場合はRPGの方が向いていると感じた。
当記事の著作権はIBMに帰属します。
詳細はこちらを参照ください。



















