4.2.6 条件を設定したデータの抽出
条件を設定してデータを抽出します。条件は,[DBPARTNER2]ウィンドウの[条件設定(C)...]ボタンをクリックして表示される[条件設定]ダイアログボックスで設定します。
- 〈この項の構成〉
(1) [条件設定]ダイアログボックス
[条件設定]ダイアログボックスを次に示します。
条件の設定で使うボタンを表4-5に示します。条件は,サーバや列の属性によって使用が制限されます。条件の使用制限については「8. 列と条件を設定するときの規則」を参照してください。
[条件設定]ダイアログボックスを開くと,[DBPARTNER2]ウィンドウで指定した表中のすべての列が一覧で表示されます。複数表を選択した場合は,すべての表の列名が表示されます。選択した表のうち,一つの表の列だけを表示させる場合は,表名表示領域の[▼]をクリックして表示される表名の中から表を選択してください。列の一覧から条件を設定する列を選択して条件を設定してください。
- [表名(T)]
-
抽出する表の表名が表示されます。
複数表を選択した場合は,「全表示」と表示されます。
- [列属性]
-
選択した列の属性と長さが表示されます。
- [列一覧(F)]
-
抽出する表中の列名の一覧が表示されます。
オプション設定でインデクス情報の表示を指定している場合は,列に定義されているインデクスの種別が表示されます。表示される内容については,「7.1.9 インデクス情報の表示」を参照してください。
- [条件(O)]
-
比較条件式,NULL条件式及びLIKE条件式を設定します。
- [一覧(N)]
-
設定した条件式が表示されます。
- [設定(S)][削除(D)][変更(U)][取消(R)][↑(P)][↓(W)]ボタン
-
[一覧(N)]の条件を操作します。
- [関連(L)]
-
複数の条件を関連付けた場合にその内容が表示されます。
- [OK]ボタン
-
設定内容を確認後,クリックします。[条件設定]ダイアログボックスが閉じます。
列を選択すると,ダイアログボックスにその列の属性が表示されます。表示される列の属性と長さ,及び列属性とデータベースのデータ型との対応については,「付録D DBPARTNER2の列属性」を参照してください。
(2) 比較条件式の設定
(a) 形式
列 {=|<>|>|>=|<|<=} 定数
左辺と右辺を比較し,条件に合うデータを抽出します。右辺の定数は可変記号を設定できます。
比較条件式を設定するときの規則については,「8. 列と条件を設定するときの規則」を参照してください。
(b) 入力例
-
[条件設定]ダイアログボックスの[列一覧]から,条件を設定する列を選びます。
-
[条件(O)]の[▼]をクリックして,比較条件式を選びます。
-
[条件(O)]の右辺に設定する内容をキーボードから入力します。
-
[設定(S)]ボタンをクリックします。
[一覧(N)]に設定した条件式が表示されます。
複数の条件を設定するときは,1.〜4.の操作を繰り返してください。
-
[OK]ボタンをクリックします。
[DBPARTNER2]ウィンドウに戻ります。設定した条件が表示されます。
比較条件式を設定したときに抽出するデータの例を次に示します。
(3) NULL条件式の設定
(a) 形式
列 {IS NULL|IS NOT NULL}
ナル値を持つデータ,又はナル値を持たないデータを抽出します。
(b) 入力例
-
[条件設定]ダイアログボックスの[列一覧]から,条件を設定する列を選びます。
-
[条件(O)]の[▼]をクリックして,NOT NULLを選びます。
-
[設定(S)]ボタンをクリックします。
[一覧(N)]に設定した条件式が表示されます。
条件式の左に付けられた数字(この場合は1)は,条件式の項番です。条件式を関連付けるときに使用します。
参照:「(11) 条件式を関連付ける」
-
[OK]ボタンをクリックします。
[DBPARTNER2]ウィンドウに戻ります。設定した条件が表示されます。
NULL条件式を設定したときに抽出するデータの例を次に示します。
(4) IN条件式の設定
(a) 形式
列 {IN|NOT IN} (定数1,定数2,…,定数n)
右辺に指定した定数が含まれるデータ,又は含まれないデータを抽出します。右辺の定数は可変記号を設定できます。定数nのnの値はアクセスするデータベースによって,次のように異なります。
-
VOS3 XDM/RD E2,CommuniNet接続のVOS1 PDM II E2,VOS1 ACE3ユーザファイル,VOS3 PDM II E2,VOS3 ACE3ユーザファイル,HiRDB,ORACLEの場合:255
-
VOS1 RDB1 E2の場合:128
IN条件式を設定するときの規則については,「8. 列と条件を設定するときの規則」を参照してください。
(b) 入力例
-
[条件設定]ダイアログボックスの[列一覧]から,条件を設定する列を選びます。
-
[IN...]ボタンをクリックします。
[IN条件式]ダイアログボックスが表示されます。
-
[種別(K)]で「列が値のいずれかと一致しているデータを検索」を選びます。
-
比較する値をキーボードから入力します。
-
比較する値が11個以上になる場合,[次頁(A)]ボタンをクリックし,次ページに設定します。前ページに戻る場合は,[前頁(B)]ボタンをクリックします。
-
[OK]ボタンをクリックします。
[条件設定]ダイアログボックスに戻ります。設定した条件が表示されます。
IN条件式を設定したときに抽出するデータの例を次に示します。
(5) LIKE条件式の設定
(a) 形式
列 {LIKE|NOT LIKE} 文字パターン
右辺に指定した文字パターンと同じデータ,又は異なるデータを抽出します。右辺の文字パターンは可変記号を設定できます。
LIKE条件式を設定するときの規則については,「8. 列と条件を設定するときの規則」を参照してください。
(b) 入力例
-
[条件設定]ダイアログボックスの[列一覧]から,条件を設定する列を選びます。
-
[条件(O)]の[▼]をクリックして,LIKEを選びます。
-
[条件(O)]の右辺に設定する文字パターンをキーボードから入力します。
-
[設定]ボタンをクリックします。
[一覧(N)]に設定した条件が表示されます。
-
[OK]ボタンをクリックします。
[DBPARTNER2]ウィンドウに戻ります。設定した条件が表示されます。
LIKE条件を設定したときに抽出するデータの例を次に示します。
(6) BETWEEN条件式の設定
(a) 形式
列 {BETWEEN|NOT BETWEEN} 定数1 AND 定数2
右辺に指定した定数1と定数2の間(定数1及び定数2を含む)のデータ,又は間以外(定数1及び定数2を含まない)のデータを抽出します。右辺の定数は可変記号を設定できます。
BETWEEN条件式を設定するときの規則については,「8. 列と条件を設定するときの規則」を参照してください。
(b) 入力例
-
[条件設定]ダイアログボックスの[列一覧]から,条件を設定する列をクリックします。
-
[BETWEEN...]ボタンをクリックします。
[BETWEEN条件式]ダイアログボックスが表示されます。
-
[種別(K)]で「列の値が,値1と値2の間のデータ検索」を選びます。
-
値1と値2をキーボードから入力します。
-
[OK]ボタンをクリックします。
[条件設定]ダイアログボックスに戻ります。設定した条件が表示されます。
BETWEEN条件式を設定したときに抽出するデータの例を次に示します。
(7) 列演算条件式の設定
(a) 形式
列 {=|<>|>|>=|<|<=} 列
値式 {=|<>|>|>=|<|<=} 値式
値式::= { {+|-} 一次子|値式 {+|-|*|/} } 定数
一次子::= {列|定数}
- (凡例)
-
::= は,左辺を右辺のとおりに定義することを示します。この形式では,値式,一次子をそれぞれ右辺で定義します。
「+ - * / ( )」及び定数を使って条件式を設定して,左辺と右辺を比較して条件に合うデータを抽出します。
演算を用いた条件式を設定するときの規則については,「8. 列と条件を設定するときの規則」を参照してください。
(b) 入力例
-
[条件設定]ダイアログボックスの[列一覧]から,条件を設定する列を選びます。
-
[列演算...]ボタンをクリックします。
数値属性以外の列を選択した場合は,[列演算...]ボタンはクリックできません。
[列演算条件式]ダイアログボックスが表示されます。選択した列が条件式入力領域に表示されます。
-
演算子,数字のボタンをクリックして左辺の条件式を設定します。
-
比較演算子をクリックします。
-
右辺の列を選びます。
-
[選択(S)]ボタンをクリックします。選択した列をダブルクリックしても選択できます。
-
右辺の条件式を設定します。
条件式を修正する場合は,[後退]ボタン,[削除]ボタンを使ってください。
条件式は,キーボードから入力することもできます。
-
[OK]ボタンをクリックします。
[条件設定]ダイアログボックスに戻ります。設定した条件が表示されます。
演算を用いた条件式を設定したときに抽出するデータの例を次に示します。
(8) 条件式を直接入力する
[直接入力(E)...]ボタンをクリックすると[条件直接入力]ダイアログボックスが表示されます。[条件直接入力]ダイアログボックスでは,where句に指定できる条件を直接入力できます。
(a) [条件直接入力]ダイアログボックス
[条件直接入力]ダイアログボックスを次に示します。
- [表名(T)]コンボボックス
-
表名の一覧を示すエリアです。
- [属性:]ラベル,[長さ:]ラベル
-
[列一覧]で選択した列の属性,長さを表示します。
- [列一覧(F)]リストボックス
-
[表名(T)]で選択した表に定義されている列名の一覧を表示します。
- [選択(S)]ボタン
-
[列一覧]で選択した列名を[条件式]に入力します。
- [条件式(C):]テキストボックス
-
作成した条件式が表示されます。
- [数式]ボタン
-
演算の数式を入力します。
(b) 入力例
-
[条件設定]ダイアログボックスの[列一覧]から,条件を設定する列を選びます。
-
[直接入力(E)...]ボタンをクリックします。
[条件式直接入力]ダイアログボックスが表示されます。
-
条件式を入力します。
ダイアログボックスのボタンを使って,又は手入力でも入力できます。
各条件の規則については,「8.1.3 条件を設定するときの規則」を参照してください。
-
[OK]ボタンをクリックします。
[条件設定]ダイアログボックスの[一覧]に条件式が表示されます。
条件式直接入力を利用したときに抽出するデータを次に示します。
(c) 規則
-
設定した条件の構文については,DBPARTNER2で構文チェックされません。
-
可変記号は指定できません。
(9) 表結合条件式の設定
(a) 形式
列 {=|<>|>|>=|<|<=} 列
(b) [表結合条件式]ダイアログボックス
[表結合条件式]ダイアログボックスを次に示します。
- [表1(L)]
-
外表にする表名を選択します。JOIN検索の場合はすべての表名が表示されます。
- [列名]
-
ON条件に指定する[表1(L)]の列を選択します。
- [属性]
-
[表1(L)]の[列名]で選択された列の属性が表示されます。
- [表2(R)]
-
内表にする表名を選択します。JOIN検索の場合はすべての表名が表示されます。
- [列名]
-
ON条件に指定する[表2(R)]の列を選択します。
- [属性]
-
[表2(R)]の[列名]で選択された列の属性が表示されます。
- [演算子(C)]
-
比較演算子を指定します。
- [結合の内容(1)]
-
WHERE句に列比較条件を使用したSQLを作成します。
- [結合の内容(2)]
-
LEFT OUTER JOINを使用したSQLを作成します。
- [結合条件]
-
このダイアログボックスで設定した内容から作成される,表結合条件が表示されます。
(c) 入力例
次に示す例を基に,入力例を説明します。
- (例)
-
結合する表:仕入れ表と在庫表
結合条件 :仕入れ表の列「コード」=在庫表の列「コード」
-
[条件設定]ダイアログボックスの[列一覧]から条件を設定する列を選んでから,[表結合...]ボタンをクリックします。
[表結合条件式]ダイアログボックスが表示されます。
-
表1に外表にする表を選択し,結合条件にする列を選択します。
列名表示領域の下には列の属性が表示されます。
-
表2に結合する表を選択し,結合条件にする列を選択します。
列名表示領域の下には列の属性が表示されます。
-
条件演算子を設定します。
-
結合種別を選択します。
- 1
-
表1の列と表2の列を比較して条件に合う行が結合されて抽出されます(内結合)。この結合種別は「列比較条件式」と同様です。
- 2
-
表1のすべての行と,条件を満たす表2の行が抽出されます(外結合)。
結合種別を選択すると結合条件表示領域に表示されます。
(例)USER01.仕入れ.商品コード = USER01.在庫.在庫商品コード
- 補足
-
[表選択]ダイアログボックスで二つ以上の表を選択している場合,「2」は選択できません。
-
[OK]ボタンをクリックします。
[条件設定]ダイアログボックスに戻ります。
設定した条件が表示されます。外結合の場合,条件一覧には「*」が付いて表示されます。
1選択時:(例)USER01.仕入れ.商品コード=USER01.在庫.在庫商品コード
2選択時:(例)USER01.仕入れ LEFT OUTER JOIN USER01.在庫 ON USER01.仕入れ.商品コード = USER01.在庫.在庫商品コード
一度設定した表結合条件の結合種別は変更できません。結合種別を変更するときは,条件式をいったん削除してから再設定してください。
- 注意
-
同一表の列を表結合条件式の両辺に設定した場合は,通常の列比較条件式となります。
- 外結合(結合種別 2:)の注意事項
-
-
表結合条件式を設定できるのは,XDM/RD E2,ORACLE,HiRDB,SQL Serverの場合です。
-
表結合条件式に複数の条件を設定する場合,表1と表2に指定する表の順序が同じでなければなりません。
-
表結合条件式は,選択された表が二つの場合だけ設定できます。
-
表結合条件式に複数の条件を設定する場合,各条件はすべてANDで関連付けされます。
-
表結合条件は,条件設定画面の条件一覧リストの先頭に表示されます。
-
集合関数を設定して表結合条件式を指定すると,件数を表示できないので注意してください。
-
(10) 複数の条件式を設定する
複数の条件式を設定できます。条件式を多く設定して,一覧に表示しきれない場合は,一覧の右端にスクロールバーが表示されます。スクロールして条件式を表示させてください。設定できる条件式は255個までです。設定の方法は,(2)〜(8)までの各条件式の設定方法を参照してください。各条件式を関連付けないと,ANDで関連付けられます。関連付けについては,「(11) 条件式を関連付ける」を参照してください。
(a) 入力例
複数の条件式を設定すると,設定した条件式が表示されます。
複数の条件式を設定したときに抽出するデータの例を次に示します。
(11) 条件式を関連付ける
(a) 形式
条件関連::= { NOT {条件関連|条件} | 条件 AND {条件関連|条件}
| 条件 OR {条件関連|条件} }
- (凡例)
-
::= 左辺を右辺のとおりに定義することを示します。この形式では,条件関連を右辺で定義します。
設定した複数の条件を関連付けることができます。関連付けは,条件式の左に付けられた番号,及び次に示す論理演算子をキーボードから入力して設定します。すべて半角で入力してください。条件式を関連付けた式が,入力領域より長い場合,領域内で式がスクロールされます。
-
AND:論理積を示します。
- (例)
-
「1 AND 2」の場合,1と2の両方の条件を満たすデータを抽出対象とします。
-
OR:論理和を示します。
- (例)
-
「1 OR 2」の場合,1か2のどちらかの条件を満たすデータを抽出対象とします。
-
NOT:条件式を否定します。ただし,VOSKではNOTは設定できません。
- (例1)
-
「NOT 1」の場合,1の条件を満たさないデータを抽出対象とします。
- (例2)
-
「NOT 1 AND 2」の場合,1の条件は満たさないで,2の条件は満たすデータを抽出対象とします。
-
( ):括弧内の条件を優先します。
- (例)
-
「1 AND (2 OR 3)」の場合,2か3のどちらかの条件を満たし,かつ1の条件を満たすデータを抽出対象とします。
AND,OR,及びNOTの前後はスペースを入力してください。
関連付けを設定しないと,ANDが仮定されます。論理演算子の優先順位は,括弧,NOT,AND,ORです。
次の条件式は,ほかの条件式と関連付けできません。
-
表結合条件式
(b) 入力例
-
[条件設定]ダイアログボックスの[条件関連]入力領域に,条件式を関連付けた式をキーボードから入力します。
条件一覧から条件式を削除した場合,「1」「2」「3」の番号も自動的に変更されますが,[条件関連(L)]の番号は変更されません。再び,条件式を関連付けてください。
条件式を関連付けたときに抽出するデータの例を次に示します。
(12) 条件を削除,又は変更する
式を誤って設定した場合,条件一覧中の条件式をクリックした後,[削除(D)]ボタンをクリックして削除するか,[変更(U)]ボタンをクリックして変更します。
(a) 比較条件式,NULL条件式,LIKE条件式,及び列比較条件式の場合
条件式を削除する場合,条件式を選んでから[削除(D)]ボタンをクリックします。
条件式を変更する場合,条件式を選んでから[変更(U)]ボタンをクリックします。その後は,変更する箇所によって次のように操作方法が違います。
-
列名を変更する場合
[列一覧]から変更後の列名を選択して,クリックしてください。
-
条件を変更する場合
[条件(O)]の[▼]をクリックして,変更後の条件を選択してください。
-
条件値を変更する場合
変更したい値をキーボードから入力してください。
-
条件式を変更する場合
列名,条件,及び条件値のすべてを変更するか,又はいったん条件式を削除して設定し直してください。
-
列比較条件式の左辺の列名を変更する場合
列一覧から変更後の列名を選択して,クリックしてください。
-
列比較条件式の右辺の列名を変更する場合
[列比較]ボタンをクリックし,その後,列一覧から変更後の列名を選択してクリックしてください。
-
入力例
-
[条件設定]ダイアログボックスの[条件一覧]から,変更する条件式を選びます。
-
[変更(U)]ボタンをクリックします。
選択した条件式が表示されます。
-
条件式を変更します。
-
[設定(S)]ボタンをクリックします。
途中で変更をやめたい場合は,[取消(R)]ボタンをクリックしてください。[変更(U)]ボタンをクリックする前の状態に戻ります。
変更した条件式が表示されます。
(b) 比較条件式,NULL条件式,及びLIKE条件式以外の場合
-
入力例
-
[条件設定]ダイアログボックスの[条件一覧]から,変更する条件式をクリックします。
-
選択した条件式を変更したい場合,[変更(U)]ボタンをクリックすると,その条件式を設定したダイアログボックスが開きます。
選択した条件式を削除したい場合,[削除(D)]ボタンをクリックすると,その条件式は削除されます。
[BETWEEN条件式]ダイアログボックスが表示されます。
-
変更する条件をキーボードから入力します。
-
[OK]ボタンをクリックします。
変更した条件式が表示されます。