SQLを勉強していると、「どんな結果が返されるのかな?」「自分が考えたSQLが正しいのかな?」試してみたくなることがよくありますよね?でも、Oracle Databaseをインストールして、テスト用のデータベースを作って、となると、ハードルが高いですよね。そんな方にお勧めしたいのがOracle Live SQLです。Oracle Live SQLは、ブラウザさえあれば環境構築不要でSQLの実行を試せる環境です。その上、HRスキーマなども用意されているので、お馴染みのEMPLOYEES表で動作を試せます。
では早速、使い方を見ていきましょう。
- (Oracle.comアカウントを持っていない場合)Oracle.comアカウントを作成してください。https://www.oracle.com/jp/ にアクセスし、右上の「アカウントを表示」でOracleアカウントの「アカウントを作成」を選択し、必要な情報を入力し、指示に沿ってメールの確認応答を行うと、アカウントを作成できます。
- https://livesql.oracle.com にアクセスします。
- (サインインを求められた場合)Oracle.comアカウントでサインインします。
- (初めて Oracle Live SQLにアクセスする場合)Application Disclaimer for use of Oracle Live SQLが表示された場合は、確認してください。
- [Live SQL Classic] をクリック

- [Start Coding] ボタンをクリック

- ①SQL文を入力します。ここでは、試しに「select * from hr.employees;」と入力しています。サンプルのemployees表はhrスキーマにあるので、hr.employeesと指定してください。
②「Run」ボタンをクリックします。
③結果が表示されます。

- 次に、左上のメニューを開いてみましょう。


SQL Worksheet:先ほどselect文を実行したワークシートです。
- My Session:そのセッションで発行したSQL文とその結果を一覧できます。
- My Session > Previous Session:そのアカウントによる過去のセッションの一覧です。過去のセッションを選択すると、そのセッションで発行したSQL文を確認できます。
- My Session > Utilization:リソースの使用状況
- My Session > NLS:言語等の設定。※Silver SQL試験は、NLS_LANGUAGE=AMERICAN, NLS_TERRITORY=AMERICAなので、試験勉強にもぴったりです。
- Schema:GUIで表などのオブジェクトを作成することができます。また、HRスキーマなどのサンプルスキーマを確認できます。
- Quick SQL:モデルをロードできます。
- My Scripts:SQL Worksheetの「Save」ボタンで保存したスクリプトを確認できます。
- My Tutorials:自分用のチュートリアルを作れます。
- Code Library:他の人が公開している学習用のSQLスクリプトを参照、実行できます。
- Home:一番初めに、[Start Coding Now]ボタンをクリックした画面です。英語ですが、チュートリアルなどを参照することができます。またチュートリアルに含まれるSQL文は、そのまま実行することができます。
実際にLive SQLを使って学習していく上で、次の点にご注意ください。
- アイドルセッションは90分で切れます。セッションが切れたら、左上のLive SQLのロゴをクリックするか、Live SQLにアクセスし直してください。
- セッションは、最長480分で切れます。セッションが切れたら、Live SQLにアクセスし直してください。
- セッションが切れると、自分で作成していたオブジェクトは失われます。学習に使用するオブジェクトを作成するときは、その作成スクリプトを保存しておいて、必要に応じて、都度再作成し直すようにしてください。
- HRスキーマなどのサンプルのオブジェクトのSELECTオブジェクト権限はありますが、DMLのオブジェクト権限はありません。DMLを試したいときは、CREATE TABLE文で自分用の表を作成してからDMLを試してください。上記③に注意し、表の作成スクリプトは保存しておきましょう。
- SQL*Plusコマンドは使用できません。(DESCコマンドは例外的に使用できます。)
- セッション・タイムゾーンはUS Pacific,データベース・タイムゾーンはUTCです。Silver DBAの試験範囲に含まれる、「異なるタイム・ゾーンでのデータの管理」を学習される方にとっては、興味深い内容だと思うので、是非次の問合せを実行してみてください。
SELECT sessiontimezone FROM dual;
SELECT current_timestamp FROM dual;
SELECT dbtimezone FROM dual;
SEECT systimestamp FROM dual;
