SQLクエリのヘルプ
概要
「SQLクエリ」はSQLを使った検索機能です。
現ワークブックまたはファイルからSQLiteDBのテーブルを作成し、そのテーブルを検索します。
結果はシートに貼り付けることができます。
または、新規シートとしてロードできます。
セルスタイルはDBテーブルに保持されません。
セル/行/列/シートのメニュから「SQLクエリ」を選択するか、または、データファイルのメニューから「SQLクエリ経由のロード」を選択すると、下の画面を表示します。
- A: DBテーブルの作成に使います。
- B: DBテーブルの検索に使います。
- C: 結果表示を行います。
- D: メニューを表示します。結果を新規シートとしてメイン画面にロードすることや、ヘルプやDBテーブルリストの表示が行えます。
DBテーブル作成
現ワークブックまたはファイルから、SQLiteのcreate文とinsert文を使ってDBテーブルを作成します。
現ワークシートからの作成は以下の手順です。
- 1行目で「現ワークブック」を選択します。
- 2行目で、DBテーブルの元データとするシート番号とセル範囲を指定します。検索と表示を含め、SQL処理に使う全データの範囲を指定して下さい。
SQLクエリを呼び出す前にセル範囲を指定しても良いです。
- 3行目で、作成するDBテーブル名を指定して、ボタン「作成」をタッチします。
- 下部Cの領域に「Success」と表示されれば成功です。
ファイルからの作成は以下の手順です。
- 1行目で「ファイル」を選択します。
- 2行目で読み込むファイルを指定します。
- 3行目で、作成するDBテーブル名を指定して、ボタン「作成」をタッチします。
- 下部Cの領域に「Success」と表示されれば成功です。
作成したDBテーブルのカラム名は、作成元の列参照名です。
また連番を記録するカラム「id」が加わります。
カラム「id」以外の要素は文字列型で格納します。
作成済みのDBテーブル名を指定したときは上書きとなります。
またDBテーブル名を変えることで複数のDBテーブルを作成できます。
データ検索
SQLiteのselect文を使って、入力欄から構成したSQL文で処理します。
select [表示項目] from [DBテーブル名] [条件] limit [表示制限]
- 入力欄に値を入れます。
- 表示項目: デフォルトは全カラム「*」
- DBテーブル名: デフォルトは「t1」
- 条件: デフォルトは空文字列「」
- 表示制限: デフォルトは「500」です。最初の500行を表示します。
「1000,500」や「500 offset 1000」のようにオフセット1000と行数500を指定することもできます。
空文字列にすると表示制限無しになります。
- ボタン「検索」をタッチします。
- 下部の領域に検索結果のプレビューが表示されます。表示は各セルの先頭部分のみです。
カラム「id」以外は文字列です。
数値として扱うには、数値への変換「例:cast(A as numeric)」が必要です。
例を示します。詳しくはSQLの解説を参照して下さい。
- select * from t1 where A!="" and B!="" limit 500
- select count(*) from t1 where cast(B as numeric)>10
- select A,B from t1 order by C desc
- select A,B from t1 order by cast(C as numeric) asc
- select * from t1 limit 10 offset 2
- select C,count(C) from t1 group by C
- select * from t1 where A like '%tokyo%'
- select * from t1 where A not like '%tokyo%'
結果の利用
- 検索結果は自動的にクリップボードにコピーされます。
- メイン画面に戻ってから、貼り付け先のセルを長押しして「貼り付け」を選択します。余りに大きいデータは失敗するかも知れません。
クリップボードコピーはTSV (Tab Separated Values) 形式であり、他アプリに貼り付けることも可能です。
また、右上端の3ドットアイコンから「結果をロード」を選択すると、検索結果を新規シートとしてメイン画面にロードします。
DBテーブル削除
作成したDBテーブルは削除の指示がない限り保持します。
同じDBテーブル名を指定したときは上書きとなります。
削除するには、右上端の3ドットアイコンからDBテーブルリストを表示して下さい。
リスト表示画面の右上端の3ドットアイコンから、全DBテーブルの削除ができます。
リスト中のDBテーブル名を長押しすると、そのDBテーブルの削除ができます。