4月、新年度。気持ちも新たに何か学びたい、そんな時期です。SQLを学んでみるというのは如何でしょうか。新社会人になられた方の中には、研修でSQLを学ぶという方もおられることでしょう。この記事では、SQLを学ぶことの意義と学習方法についてご紹介します。

この記事で分かること–

SQLとは

SQLは何をするために必要なスキルなのか

SQLの学習は難しい?

SQLの学習はAIで不要になるか

SQLの学習方法

【期間限定】SQL学習用のコンテンツの一部を無償公開中

 

SQLとは

システムでは、大量のデータを管理するためにデータベースを使用します。データベースに対して、データの検索や操作の指示するときに使用するのがSQL(Structured Query Language)、そして、受け取ったSQLを処理し、大量のデータを管理しているのがリレーショナル・データベース管理システム(RDBMS)です。RDBMSには、Oracle Database、MySQL、Microsoft SQL Server、各社のCloudサービス上で提供されるRDBMSもあります。

さて、データベースに格納されているデータを検索したり操作したりデータを定義したりするに使う言語がSQLですが、検索するときはSELECT文、データを挿入するときはINSERT文を使います。たとえば、何かのお店のWebシステムで、店舗を検索したり、新規会員登録したりする場面をイメージしてみましょう。都道府県などの条件を入力して店舗情報を検索するのはSELECT文、氏名やメールアドレスを入力し新規会員登録するのはINSERT文です。検索画面や会員登録画面で「確定」ボタンを押すと、裏ではデータベースに対してこれらのコマンドが発行されているわけです。

SQLの学習では、どのようなデータを抽出したいときにどんなSELECT文を発行するか、データにどのような変更を行いたい時にどんなUPDATE文を発行するか、また「表」というデータの入れ物をどのように作成するか、こういったことを学習していきます。

 

SQLは何をするために必要なスキルなのか

1)開発

あらゆるシステムでデータを扱うわけですが、データを検索するにせよ、データを更新するにせよ、使用されるのがSQLです。どのプログラミング言語で開発するとしても、データベースとのやりとりの部分はSQLです。先ほど、リレーショナル・データベース管理システム(RDBMS)にはOracle Database以外にもいろいろあるとお話ししました。細かい文法には違いがありますが、どのRDBMSもANSI規格のSQLをベースにしています。なので、SQLの基本については、どのRDBMSで勉強しても大丈夫です。

2) データベース管理

データベースと対話するための言語がSQLですから、データベースを管理する上でSQLが必須なのは当然といえば当然です。GUIの管理ツールを使えばSQLを打つ場面は少ないかも知れません。しかし、スクリプトを作る時には必要ですし、現在の状況をサクッと確認したい時にもSQLは便利です。何らかの障害で管理ツールが使えない場合は、SQLが使えなかったら何もできません。

3)データ分析

SQLを学んで意味があるのは、開発者やデータベース管理者だけというわけではありません。SELECT文では検索だけでなく、集計関数などを用いることで、大量のデータを効率的に分析できます。例えば、売れ筋の商品を分析するときに、SQLの知識と表構造の知識があると、時間軸、顧客属性、商品属性、どういうカットで分析が行えるのかが分かります。BIツールなどで分析する場合も、SQLの知識があると分析用のダッシュボード作成などが行えます。これらのダッシュボードの作成はエンジニアが行うケースもありますが、SQLの知識があれば、エンジニアへの依頼も円滑になります。SQLは、エンジニア、非エンジニアに拘らず役立つスキルです。

4)AI基盤作り

Oracle Database 23ai で注目を集める新機能AI Vector Searchを使用すると、従来の完全に一致するものという検索ではなく、近いもの、似通ったもの、というデータ検索が可能になります。AI Vector Searchを行うには、データにベクトル値という、データを数値化したものを格納する必要がありますが、そのデータの準備もSQLで行います。AIでは大量のデータを扱いますので、AI基盤となるデータを用意するためにSQLの知識は必要です。AIという新しい分野に挑戦する場合もSQLは押さえておきたい知識です。

 

このようにSQLのスキルはいろいろな場面で必要になってきます。SQLを学んでおくと今後のキャリアの幅が広がります。

 

SQLの学習は難しい?

さて、いろいろな場面で必要になるSQLですが、SQLを学習するのは難しいのでしょうか。

まず前提として、SQLは所謂プログラミング言語ではありません。プログラミングが苦手、という方でも、SQLは入門しやすいと思います。SQLは、あくまでもRDBMSと対話するための言語なので、どういうデータを検索したいのか、どういう操作をしたいのかを書いていくだけです。文系、理系を問わず、学習しやすい分野だと思います。

また、SQLの学習を始める時点では、コンピュータに関する前提知識は必要ありません。SQLを極めていってパフォーマンスを考慮したりするようになると、周辺知識も必要になりますが、普通にSQL学習していく上では、周辺知識は持っていなくても大丈夫です。

 

SQLの学習はAIで不要になるか

Oracle Database 23aiのSelect AIという機能を使うと、自然言語(私たちが使う普通の言葉)でOracle Databaseにデータ検索の命令を出せます。つまり、AIでSELECT文は生成できます。でも、SELECT文の基礎や表構造について何も知らなかったら、自然言語で効率的に指示を出すことは難しいでしょう。加えて、自動生成されたSELECT文をそのまま実務で使えるケースは限定されます。AIで生成したものを参考として活用しつつ、意図した通りになっているか、最後は人の目で確認します。AIに取って代わられるからSQLについて学習しても無意味、なんてことはありません。

参考:Select AIでSQL研修の演習問題は解けたのか?

 

SQLの学習方法

SQLについては、初心者向けの書籍がたくさん市販されているので、それらを使って学習されると良いでしょう。ただ、RDBMSによって多少の違いがありますので、Oracle Databaseで勉強していく場合は、Oracle Databaseで説明している書籍を使うと良いでしょう。

[Oracle DatabaseでSQLの学習をお勧めする理由]

市場のシェアが高いこと、エンジニアが大勢いること、情報が多いこと、ANSI SQLに準拠していること、これらの理由で、Oracle DatabaseでSQLの学習を開始されることをお勧めします。また、Oracle Live SQLという動作確認環境があり、ブラウザさえあれば、Oracle Database 19cやOracle Database 23ai 上での動作を確認することができます。Oracle Live SQLでは、動作確認用のHR.EMPLOYEES表なども予め用意されているので、作ったSELECT文が自分の思った通りの結果を返すか簡単に確認できます。

参考:Oracle Live SQLで実機確認!ORACLE MASTER Silver SQL 2019

[Oracle DatabaseでSQLを学習する場合の学習のゴール]

ただ闇雲にSQLを学習するよりは、何か目標があった方がモチベーションも保ちやすいですよね。Oracle Universityでは、ORACLE MASTER Silver SQL 2019という、まさに開発者やデータアナリストに必要となるSQLスキルを証明する資格を提供しています。資格取得を目標に学習することで、学習する範囲も明確になりますし、学習の成果を可視化できます。

参考: 【Oracle University 講師による ORACLE MASTER Silver SQL 2019 試験トピック解説講座】

 

【期間限定】SQL学習用のコンテンツの一部を無償公開中

5月31日まで期間限定で、SQLの研修の講義動画の一部を無償公開しています(「Oracle Database: SQL 基礎 I」コースの1章から8章)。リレーショナル・データベースの概念やデータを格納している表のイメージから丁寧に解説していますので、初めて学習される方におすすめです。ぜひこの機会にご視聴ください。

 

タイトル

概要

Oracle Database: SQL 基礎 I
(1〜8章)

有償の研修コースの一部を無償公開します。基礎からじっくり学ぶのに最適です。

Silver SQL 2019 資格試験準備セミナー

有償のコンテンツを無償公開します。サンプル問題とその解説で理解を深めることができます。

 

動画の視聴方法はこちら

 

関連リンク

ORACLE MASTER Portal