生SQLを使ったデータの選択

生SQLコマンドSELECTは,データベースのデータを選択して返すときに使う.これは,「データの選択」に記載のように,Wolfram言語コマンドSQLSelectを使ってもできる.

このチュートリアルの例を実際に試してみて,記載の通りに動作しなかった場合は,「データベースの例の使用」で述べているように"DatabaseLink`DatabaseExamples`"パッケージを使ってデータベースをもとの状態に戻す必要があるかもしれない.

DatabaseLink をロードし,publisherデータベースに接続する.

表ROYSCHEDの中から,列ROYALTYの要素が0.11から0.12までであるデータを取り出す.

次も同じSELECT文を実行する例であるが,今度は準備文を使う.文の引数はSQLExecuteコマンドの第3引数として与える.第1引数は`1`の場所に,第2引数は`2`の場所に置かれる.

列と表の名前はそれぞれSQLColumnSQLTableで囲まなければならない.これにより,列と表の名前が文字列でないことをはっきりさせる.次の例では,表ROYSCHEDの中で列TITLE_IDの値がBS1011である列ROYALTYの要素を選択する.

準備文に引数の列を与えたい場合は,SQLArgumentを使う.これについては「SQLExecute:SQLスタイルのクエリにおける引数の列」で述べる.

多くのデータベースには,SELECT操作の結果に適用できる関数がある.一般的なものにCOUNT,MIN,MAX,SUM,AVGがある.データベースに付属のドキュメントに,使用可能な関数についての詳細が記載されている.このうちのいくつかについて以下に例示する.

多くのデータベースでは,結果に+,-,*,/等の数学関数が適用できる.

重複しない値のみを選択することもできる.

値をグループ分けすることもできる.

多くのデータベースは,任意範囲の結果の取出しもサポートしている.

INNER JOINとOUTER JOINを使ったより複雑なSELECT文をFROM節で使って,2つの表のレコードを結合することができる.

接続を閉じる.