生SQLを使ったデータの選択
生SQLコマンドSELECTは,データベースのデータを選択して返すときに使う.これは,「データの選択」に記載のように,Wolfram言語コマンドSQLSelectを使ってもできる.
このチュートリアルの例を実際に試してみて,記載の通りに動作しなかった場合は,「データベースの例の使用」で述べているように"DatabaseLink`DatabaseExamples`"パッケージを使ってデータベースをもとの状態に戻す必要があるかもしれない.
DatabaseLink をロードし,publisherデータベースに接続する.
表ROYSCHEDの中から,列ROYALTYの要素が0.11から0.12までであるデータを取り出す.
次も同じSELECT文を実行する例であるが,今度は準備文を使う.文の引数はSQLExecuteコマンドの第3引数として与える.第1引数は`1`の場所に,第2引数は`2`の場所に置かれる.
列と表の名前はそれぞれSQLColumn,SQLTableで囲まなければならない.これにより,列と表の名前が文字列でないことをはっきりさせる.次の例では,表ROYSCHEDの中で列TITLE_IDの値がBS1011である列ROYALTYの要素を選択する.
準備文に引数の列を与えたい場合は,SQLArgumentを使う.これについては「SQLExecute:SQLスタイルのクエリにおける引数の列」で述べる.
多くのデータベースには,SELECT操作の結果に適用できる関数がある.一般的なものにCOUNT,MIN,MAX,SUM,AVGがある.データベースに付属のドキュメントに,使用可能な関数についての詳細が記載されている.このうちのいくつかについて以下に例示する.
多くのデータベースでは,結果に+,-,*,/等の数学関数が適用できる.
多くのデータベースは,任意範囲の結果の取出しもサポートしている.
INNER JOINとOUTER JOINを使ったより複雑なSELECT文をFROM節で使って,2つの表のレコードを結合することができる.