最初のページに戻ります。

総合の目次があるページに戻ります。

よく使うマニュアルです

Wiki

updated on 2004.06.23

3.14.SQLのまとめ

[ Previous ] [ HOME ] [ Upper ] [ Next ]


SQLの概念用語とAS/400の概念用語対応図

コレクション

*LIB・*JRN・*JRNRCV

テーブル

キーなしの物理ファイル

行 (row)

レコード

列 (column)

フィールド

ビュー

キーなし論理ファイル

索引

キーつき論理ファイル

認可識別(権限識別)

*USRPRF

SQLステートメント

データ定義

CREATE TABLE    CRTPF
ALTER TABLE    CHGPF, ADD/RMVPFCST(CST=constraint:制約)
DROP TABLE    DLTF
LABEL ON    (DDS) COLHDG
COMMENT ON    Data  Dictionaryコメント
GRANT TABLE    GRTOBJAUT
REVOKE TABLE    RVKOBJAUT

データ操作

INSERT    個別RPGプログラムと同様
DELETE    個別RPGプログラムと同様
UPDATE    個別RPGプログラムと同様
SELECT    フィールド定義など
CALL    CALLと同様
LOCK TABLE    ALCOBJと同様
COMMIT    RPG COMMITと同様
ROLLBACK    RPG ROLBKと同様
CONNECT    遠隔DB接続
RELEASE    遠隔DB解放

SQL命名規則

*SYS(Default)    LIB名/FILE名, Collection名/Table名 (AS/400内)
*SQL    LIB名.FILE名, Collection名.Table名 (他システム用)

SQLで使われるデータタイプ

       指定形式 値の範囲 バイト数 省略時の桁数
ストリング 文字   固定長  CHAR(n)
CHARACTER(n)   
n: 1 〜 32766  1 から 32766 n CHARACTER(1)
可変長  VARCHAR(n)    n: 1 〜 32740  1 から 32740    
 グラフィック 固定長 GRAPHIC(n)    n: 1 〜 16383  1 から 16383 n * 2 GRAPHIC(1)
可変長 VARGRAPHIC(n) n: 1 〜 16370  1 から 16370    
数値 10進数 パック10進数 DEC(n,d)
DECIMAL(n,d)

※ d=0のときは (n)のみでよい

n: 1 〜 31

d: 0 〜 31

-1031+1 〜 +1031-1 n/2 + 1 DECIMAL(5,0)
ゾーン10進数 NUMERIC(n,d)

※ d=0のときは (n)のみでよい

n: 1 〜 31

d: 0 〜 31

-1031+1 〜 +1031-1 n NUMERIC(5,0)
2進整数 短整数 SMALLINT -32768 〜 +32767 2  
長整数 INT
INTEGER
-2147486648 〜
 +2147483647
4  
浮動小数点 単精度 REAL 約±1.17×10-38 
±3.40×1038
4  
倍精度 DOUBLE
PRECISION
約±2.20×10-308 
±17.79×10308
8  
単精度 FLOAT(n) n:  1〜24   4 FLOAT(53)
倍精度 FLOAT(n) n: 25〜53   8  

日付・時刻

日付  DATE    6/8/10  
時刻  TIME    8  
タイムスタンプ  TIMESTAMP    26  

SQL選択条件 WHERE/HAVINGとQRYSLT/GRPSLTの対応表

 

WHERE/HAVING文節

QRYSLT/GRPSLT式

比較演算子 >, <, =, >=(¬< ), <=(¬>),<>(¬=) *CAT,*GT, *LT, *EQ, *GE, *LE, *NE, *NG, *NL, *CT

>, <, =, >=(¬< ), <=(¬>),¬= 

探索条件

[NOT] BETWEEN a AND b   

%RANGE(a b)

[NOT] IN ('a','b','c')   

%VALUES('a' 'b' 'c')

LIKE %WLDCRD

※「¬」は記号論理学で、正式に否定を意味する記号ですが、残念ながら、コードページによっては、表示されない場合があります。したがってなるべくこの記号は使わないようにしましょう。

SQLとOPNQRYFの比較

SQL文節 OPNQRYFのキーワード
SELECT FORMAT, MAPFLD
FROM FILE
WHERE QRYSLT
WHERE = (JOIN) JFLD
ORDER BY KEYFLD
HAVING GRPSLT
DISTINCT UNIQUEKEY
UNION なし
UPDATE, INSERT, DELETE OPNQRYF + RPGとなります
関数(count, sum, avg, max, min,...) 関数(%count, %sum, %avg, %max, %min...)

備考

ANDとORの考え方(積と和)

a AND b = a * bの算術ルールと同じ

a OR b = a + bの算術ルールと同じ

a AND (b OR c) = a * (b + c) = a*b + a*c = (a AND b)  OR (a AND c)

a AND b OR c = a * b + c

2000-9-30


[ Previous ] [ HOME ] [ Upper ] [ Next ]

You are at K's tips-n-kicks of AS/400

 

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送