このハウツーを完了すると、SQLワークシートを使用してSQLコマンドとSQL*Plusコマンドを入力する方法が理解できるようになります。
Oracle SQL Developerは、単純または複雑なSQLステートメントを記述して、データのクエリに使用できるSQLワークシートを提供します。このハウツーでは、これらの最も基本的なものを調べて、テーブル内のすべてのデータを選択し、取得する列または行を減らすことでこのクエリを制限します。
データベースに接続すると、スキーマの参照、データのクエリ、変更を行えるようになります。
1. データベース接続を作成したら、SQLワークシートが開いていることを確認する必要があります。ワークシートが開いていない場合は、コンテキストメニューを使用して開きます。
2. 接続すると、SQLワークシート・ウィンドウが表示されます。
3. これで準備が整いました。DEPARTMENTSテーブルのすべてのデータをクエリします。実行
部門から*を選択します。
[Execute Statement]またはF9をクリックします。
取得された行数が「結果」タブの下に表示されることに注意してください。
テーブルからすべての列を選択する代わりに、必要なデータのみを選択して、列を項目化できます。
1. 各列名を入力する代わりに、接続ナビゲーターからテーブル名をドラッグするだけです。テーブルノードを展開して、EMPLOYEESテーブルをワークシートにドラッグします。
より複雑なクエリまたはステートメントについては、Format関数(Ctrl + F7)を使用して、SQLを読みやすくします。これは、コンテキストメニューにあります。
2. 次に、ステートメントから最後の3列を削除します。以下の例をご覧ください。
SALARY列の後にある「、」を削除して、F9をクリックしてレコードを取得します。
多くの場合で、返されるレコードの数を制限する必要があります。これを行うには、Where句を追加します。これらは複雑で入り組んでいる場合があります。最も基本的なものから始めます。
1. 上記と同じSELECTステートメントを使用して、「; 」を削除して
where department_id = 100; を追加し
F9をクリックします。[Results]タブには、返されるレコードが少なく表示されます。
SQLワークシートでは、SQL*Plusコマンドを選択して使用できます。SQL*Plusコマンドは、データベースに渡される前にSQLワークシートによって解釈される必要があります。一部のコマンドはサポートされていないため無視されて、Oracle databaseには送信されません。サポートされていないSQL*Plusコマンドのリストについては、OTNのSQL Developerを参照してください。
1. Describeコマンドを使用してスキーマオブジェクトの種類を説明するには、次のように入力します。
従業員について説明
F9をクリックする代わりに、Run ScriptまたはF5を選択します。
取得された行数がスクリプトの出力タブに表示されていることに注意してください。
2. これを活用してみましょう。このスキーマがどのオブジェクトを所有し、それらが何であるかを判別するには、user_objectsディクショナリ表を参照します。
「SELECT * from USER_OBJECTS」を使用する代わりに、より具体的な詳細を見つける必要があります。次のように入力します。
DESCRIBE USER_OBJECTS
F5をクリックします。
3. テーブルを定義する列を確認したので、SELECTステートメントを作成できます。入力:
select object_name, object_type
from user_objects;
F9をクリックします。
表示される結果は、HRスキーマが所有するオブジェクトです。