Query()関数を使うと、SQLステートメントでJMPデータテーブルを操作できます。SQLステートメントは、Query()で唯一必須の引数です。通常、SQLステートメントの多くはデータテーブルを参照します。SQLステートメントが参照するデータテーブルは、テーブル参照の引数を使って渡されます。
テーブル参照の引数として、データテーブル参照を使用できます(次の例のdt)。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
result = Query( dt, "SELECT * FROM 'Big Class' WHERE 年齢 > 14;" );
上の例のSQLステートメントは、JMPデータテーブルの名前を含んでいます。データテーブルのパスが長く、SQLステートメントで別名を使用したい場合があります。別名を使用するには、テーブル参照をTable()引数として渡します。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
result = Query( Table( dt, "t1" ), "SELECT * FROM t1 WHERE 年齢 > 14;" );
Table()でデータテーブルの別名を使うことで、複数のクエリーで名前の異なるテーブルが使用されている場合でもSQLステートメントを書き換える必要がなくなります。
Query()で作成されるデータテーブルをプライベートまたは非表示にしたい場合は、PrivateまたはInvisibleをQuery()の引数として渡します。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
result = Query( dt, invisible, "SELECT * FROM 'Big Class' WHERE 年齢 > 14;" );
Query()関数は、通常、クエリーの結果としてJMPデータテーブルを戻します。しかし、単一の値を戻すSQLクエリーを記述した場合は、その値が入ったJMPデータテーブルが戻されるより、値だけが戻された方が便利です。値だけが戻されるようにするには、Scalar引数を渡します。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
result = Query(
Table( dt, "t1" ),
Scalar,
"SELECT AVG([身長(インチ)]) FROM t1 WHERE 年齢 > 14;"
);
上のクエリーは、15歳以上の学生の平均身長である65(インチ)を戻します。