公開日: 09/19/2023

SQL関数

メモ: データベーステーブル名で、$# -+/%()&|;?の文字を含むものはサポートされていません。

As SQL Expr(x, <style>)

説明

式を、SQLのSelectステートメントで使用できるコードに変換し、文字列で戻す。リテラルな式を指定する場合には、Expr(...)で、その式を囲んでください。また、式が変数name内に格納されている場合には、NameExpr(name)と指定してください。このように指定しないと、式が評価された後の結果が渡されます。

戻り値

有効なSQL構文に変換された式を含む引用符付き文字列。構文は、SQLのSelectステートメントで使用できます。

New SQL Query(Connection ("ODBC:connection_string")|
("SAS:connection_string"), Select(Column("column", "t1")), From(Table("table", <Schema("schema")>, <Alias("t1")>)), <Options(JMP 12 Compatible(1)|JMP 13 Compatible(1)|Run on Open(1)))>

New SQL Query(Connection("ODBC:connection_string;")|
("SAS:connection_string;"), Custom("SELECT col1, col2, col3 FROM table;")), <Options(JMP 12 Compatible(1)|JMP 13 Compatible(1)|Run on Open(1))>

指定した接続、列、データテーブル、または独自のSQLクエリーのSQLクエリーオブジェクトを作成する。

戻り値

クエリー対象のデータを含むデータテーブル。そのデータテーブルには、クエリーを変更および更新するための引用符付きSQLクエリー文字列とテーブルスクリプトが含まれています。

引数

Connection

ODBC接続またはSAS接続のための引用符付き文字列。

Select

選択したい列とその別名。

From

クエリー対象のテーブル、および(オプションで)スキーマと列の別名。

Custom

指定したテーブルの列を選択するSQLステートメント。

Version

クエリーを開くのに必要なJMPの最低バージョン。この条件が満たされない場合は、互換性に関するメッセージがログに書き込まれ、クエリーは開かれません。

Options

ブール値。[クエリービルダー]の環境設定で、JMP 12との互換性を維持するオプションを選択すると(または、[クエリービルダー]の赤い三角ボタンのメニューで同等のオプションを選択すると)、生成されたスクリプトにJMP 12 Compatibleが挿入されます。このオプションを指定すると、互換性に問題があるJMP 13のクエリーも、JMP 12で実行することができます。クエリーを編集モードで開くのではなく、開くと同時に実行するには、Run on Open(1)を指定します。

New SQL Query(
	Connection(
		"ODBC Connection String..."
	),
	QueryName( "g6_Movies" ),
	Select( Column( "ItemNo", "t1" ), Column( "LengthMins", "t1" ), Column( "Genre", "t1" ) ),
	From( Table( "g6_Movies", Schema( "SQBTest" ), Alias( "t1" ) ) )
) << Run Background( On Run Complete( dt = queryResult ) );
 
Show( dt );

メモ

クエリービルダーは、On Run Complete()スクリプトのコンテキストにおいてqueryResultというシンボルを作成します。これは、クエリーによって読み込まれたデータテーブルへの参照です。queryResultにより、後で使用するためにデータテーブルをグローバル変数に割り当てることができます。

New SQL Query()は、クエリーの実行後に必ずODBC接続を閉じます。

New SQL Query()の実行後、作成したデータベース接続が[データベース]>[テーブルを開く]ウィンドウに使用可能な接続として表示されます。ただし、[データベース]>[テーブルを開く]ウィンドウの接続は、そのデータベースへの接続方法の追跡記録に基づいて表示されるだけで、ODBC接続はすべて閉じた状態になります。

New SQL Query()は、クエリ時の実行後に必ず接続を閉じるため、New SQL Query()で確立されたODBC接続を閉じるコマンドはありません。

New SQL Query()の実行後、データベース接続は[データベース]>[テーブルを開く]ウィンドウに使用可能な接続として表示されます。JMPは、そのデータベースへの接続方法を追跡し、記録しています。ODBC接続自体が開いているわけではありません。

Query(<<dt1|Table(dt1, alias1)>, ..., <dtN, aliasN)>>, <private | invisible>, <scalar>, sqlStatement )

説明

選択されたデータテーブルに対し、SQLクエリーを実行する。

戻り値

クエリーの結果(データテーブルまたは1つの値)

引数

dt1, dtN

(オプション)データテーブルに割り当てられた変数。

Table

(オプション)データテーブルへの参照を渡す。

alias1, aliasN

データベーステーブルの別名を指定する。

private

(オプション)結果のデータテーブルを表示しない。プライベートのデータテーブルを使用すると、データへのアクセスが高速化しますが、データテーブルのデータを保持するために必要なメモリが節約できるわけではありません。

invisible

(オプション)データテーブルを非表示にする。データテーブルは、「JMPホームウィンドウ」と[ウィンドウ]メニューにのみ表示されます。なお、非表示のデータテーブルは、明示的に閉じるまでメモリ内にとどまるため、不要になったものは閉じるよう注意してください。非表示のテーブルを明示的に閉じるには、Close(dt)を実行します。ここで、dtは、データテーブル参照の変数です。

scalar

(オプション)クエリーが1つの値を戻すよう指定する。

sqlStatement

必須。SQLステートメント(通常はSELECTステートメント)。SQLステートメントは、必ず、最後の引数として指定します。

次の例では、15歳以上の生徒のデータをすべて選択します。

dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
result = Query( Table( dt, "t1" ), "SELECT * FROM t1 WHERE 年齢 > 14;" );

次も参照

JMPクエリーで使用可能なSQL関数

『スクリプトガイド』のSQLクエリーの記述

より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).