Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SelectAIはSQL講師になれるのか?

 SelectAIはSQL講師になれるのか?

これは2025/5/23に行われたOracleDeveloperDays講演内容に、内容を追加した資料です。講演は短い時間でしたので、話きれなかった内容を追加しています。

Can SelectAI become a SQL teacher?

This is a document with additional content added to the Oracle Developer Days presentation given on May 23, 2025. The presentation was short, so some content that could not be covered has been added.

Avatar for Takayuki Nishio

Takayuki Nishio

July 24, 2025
Tweet

More Decks by Takayuki Nishio

Other Decks in Education

Transcript

  1. スピーカー紹介 | 西尾 孝之 / Takayuki Nishio 資格 ・ORACLE MASTER

    : Platinum DBA 2019, 12c , 11c , 10g , 9i , 8i ・AWS : Database Speciality , Data Analytics , Machine Learning 認定証 ・マッターホルン登頂…4478m ・モンブラン登頂………4810m ・キリマンジャロ登頂…..5895m Oracleと山を愛するエンジニア(22年目)
  2. アジェンダ| SelectAIでSQL研修の演習問題に挑む SQLの学習は必要なのか? 1 2 3 Select AI 概要 AI

    対 SQL研修演習 SelectAIがどこまで演習問題を解けるのか? ~ AI x 学習 の 可能性を探る ~
  3. AIがSQLをかく! | WHERE データベースからデータを取得する最も簡単な方法は? ただ質問するだけ! AIがSQLを作成 SQL> select ai 2024年の売上金額を教えて;

    SELECT sum(amount_sold) FROM sales WHERE sales_date BETWEEN TO_DATE(‘2024-01-01’,’YYYY-MM-DD’) AND TO_DATE(‘2024-12-31’,’YYYY-MM-DD’) SELECT AI
  4. AIがSQLをかく! | WHERE 質問とテーブル構造を理解して、結合や集計を行うSQLも自動生成 SELECT d.department_name , SUM(s.amount_sold) AS SALES_COUNT

    FROM departments d JOIN sales s ON d.department_id = s.department_id GROUP BY d.department_name ; SELECT AI SQL> select ai 部門ごとの売上げ金額教えて;
  5. SelectAI概要 | コマンド例 Select AIが対応するコマンド <構文> select ai [option] 自然言語による問い合わせ

    runsql : SQL結果を返す(デフォルト) showsql : 生成されたSQL文を返す narrate : 会話形式の結果を返す chat : 一般的なAIチャット
  6. SQL演習問題にチャレンジ | サンプル表(HRスキーマ) EMPLOYEE_ID FIRST_NAME HIRE_DATE SALARY MANAGER_ID DEPARTMENT_ID -----------

    -------------------- --------- --------- ---------- ------------- 100 Steven 13-06-17 24000 90 101 Neena 15-09-21 17000 100 90 102 Lex 11-01-13 17000 100 90 103 Alexander 16-01-03 9000 102 60 104 Bruce 17-05-21 6000 103 60 105 David 15-06-25 4800 103 60 ~ DEPARTMENT_ID DEPARTMENT_NAME ------------- ------------------------------------------------------------ 10 管理部 20 マーケッティング部 30 Purchasing 40 人事部 50 開発部 ~ 使用するテーブル(HRスキーマ) EMPLOYEES(社員表) DEPARTMENTS(部門表)
  7. SQL演習問題にチャレンジ | 結合、集計 SQL SELECT文を使用したデータの取得 データの制限とソート 単一行関数を使用した出力のカスタマイズ 変換関数と条件式の使用方法 グループ関数を使用した集計データのレポート 結合を使用した複数の表のデータの表示

    副問合せによる問合せの解決方法 集合演算子の使用 DML文を使用した表の管理 データ定義言語の概要 SQL研修の目次 給料が4000以下社員一覧をだして 給料が4000より少ない社員一覧をだして 給料が4000から6000の社員を表示して 名前の先頭がAの社員を表示して 名前の文字数を数えて 名前を大文字で表示して; 社員名と入社日を表示して。入社日は年月を表示して; 社員名と入社日を表示して。入社日が2014年の社員を知りたい; 部門ごとに社員数をカウントして 部門ごとの給料の平均を知りたい 部門ごとの給料の平均を知りたい。部門名も表示して 部門ごとの給料の最大値を知りたい 部門ごとの給料の最大値を知りたい。部門名も表示して; 部門がファイナンスで給料が一番多い人を知りたい 部門表のデータを削除して 社員の一覧を表示して。 社員の名前と入社日を表示して 社員の名前と入社日を表示して。給料も 社員の名前と給料を教えて。給料のタイトルは給料($)にして; 社員の名前と入社日を表示して。社員の名前順に表示して; 社員の名前と入社日を表示して。給料の順に表示して; 社員の名前と入社日と給料を表示して。給料の多い順に表示して; 入社日が1999年以降の社員を教えて SELECT AI 関数を条件に すると弱い? 以上以下はうまくいくが、 「より」が難しい 自然な形でも 受け取ってくれる! 新機能でテストデータ生成 ができるように! SelectAIなので DMLは無理!
  8. SQL演習問題にチャレンジ | 面白い対応をしたもの SQL> select ai 社長は誰?; EMPLOYEE_ID FIRST_NAME -----------

    ---------------------------------------- 100 Steven SQL> select ai showsql 社長は誰?; RESPONSE -------------------------------------------------------------------------------- SELECT EMPLOYEE_ID, FIRST_NAME FROM HR2.EMPLOYEES WHERE MANAGER_ID IS NULL SQL> select ai chat オラクルのCEOはだれ; RESPONSE -------------------------------------------------------------------------------- The CEO of Oracle is Safra A. Catz. Catz has served as a principal executive off ~ chatオプションはDBでは なく、外部問い合わせ MANAGER_ID(上司)が ない社員を検索してきた EMPLOYEE_ID FIRST_ ~ MANAGER_ID DEPART ----------- -------- ---------- ------ 100 Steven 101 Neena 100 SelectAIが面白い判断をしてきた問い合わせ
  9. SelectAIの精度UP | 追加情報の付与 表名や列名が一般的な英語の場合、ある程度意味をくみ取ってくれる。 では表名や列名が、意味をもっていかなったら? 社内用語を使いたかったら? AIといえばチューニング! 23ai新機能のSQLドメインやコメント機能を活用し、情報を付加 E1_C1 E1_C2

    E1_C3 E1_C4 E1_C5 E1_C6 ----------- -------------------- --------- --------- ---------- ------------- 100 Steven 13-06-17 24000 90 101 Neena 15-09-21 17000 100 90 102 Lex 11-01-13 17000 100 90 103 Alexander 16-01-03 9000 102 60 104 Bruce 17-05-21 6000 103 60 105 David 15-06-25 4800 103 60 ~ E1 COMMENT ON COLUMN E1.E1_C2 IS '従業員の氏名。名前'; COMMENT ON TABLE E1 IS '従業員テーブル。社員表';
  10. < こちらの記事も是非ごらんください > Thank you 西尾 孝之 https://blogs.oracle.com/oraclemaster/post/ou-interview-selectai Select AIでSQL研修の演習問題は解けたのか?

    「Select AIでSQL研修の演習問題に挑む」発表者にインタビュー https://blogs.oracle.com/oraclemaster/post/ou-interview-dboci Cloud環境でOracle Databaseを構築するときに必要になる知識は? 【Oracle生成AIでアプリ開発】チャットでSQL文作成 ⇒ https://www.dcr.co.jp/column/oracle-ai/ ありがとうございました