SQLとは
SQL(エスキューエル)とは、関係データベース(RDB)を操作するために設計された、世界共通の標準的なコンピュータ言語です。データベースの中に格納されている膨大なデータの中から、必要なデータを探して取り出したり、新しいデータを追加したり、既存のデータを書き換えたり、不要なデータを消去したりする指示をデータベース管理システム(DBMS)に対して出すために使われます。プログラミング言語のように複雑な手順を細かく書くのではなく、「何をどうしたいか」を指示するだけで結果が得られるのが特徴です。
具体例
例えば、データベースに保存されている「社員テーブル(employees)」の中から、年齢が「30歳以上」の社員の名前だけを一覧で取得したい場合、データベースに向けて以下のようなSQLコマンドを送信します。これにより条件に合うデータが瞬時に画面に返されます。
SELECT name FROM employees WHERE age >= 30;
もう少し詳しく
SQLは、通常のプログラミング言語(JavaやPythonなど)とは異なり、処理の手続きを書くのではなく、欲しいデータの条件を宣言する非手続き型言語に分類されます。SQLの命令(クエリ)は、大きく分けて以下の3つに分類されます。 1. データ操作言語(DML: Data Manipulation Language):最もよく使われる命令群で、データの検索(SELECT)、追加(INSERT)、更新(UPDATE)、削除(DELETE)を行います。 2. データ定義言語(DDL: Data Definition Language):データベースの構造自体を作成・変更するもので、テーブルの作成(CREATE TABLE)、変更(ALTER TABLE)、削除(DROP TABLE)などがあります。 3. データ制御言語(DCL: Data Control Language):トランザクション処理の確定(COMMIT)や取り消し(ROLLBACK)、アクセス権限の付与(GRANT)や剥奪(REVOKE)など、データベースの管理や制御を行います。 これらを適切に組み合わせることで、アプリケーション開発やデータ分析における複雑なデータ処理をシンプルに実現できます。
試験でのポイント
試験では、SQLの基本的なクエリの読み書きや、各句(句:命令のパーツ)の役割がよく出題されます。特にデータを検索する SELECT 文における WHERE 句での条件指定、 ORDER BY 句による並べ替え(昇順:ASC、降順:DESC)、 GROUP BY 句によるグループ化、およびグループ化した結果に条件を指定する HAVING 句の使い分けは頻出ポイントです。また、2つのテーブルを結びつける INNER JOIN(内部結合) や LEFT/RIGHT OUTER JOIN(外部結合) の違いや、クエリの中でさらに別のクエリを実行する「副問合せ(サブクエリ)」の仕組みについても問われやすいため、簡単なクエリ例を見てその実行結果がどうなるかを予測できるようにしておくことが大切です。
関連する用語
SQLに関連する用語には、データベース内のデータを取得・変更するための「クエリ(問合せ)」、データの追加や削除を行う「DML(データ操作言語)」、そしてデータベースの表構造を定義する「DDL(データ定義言語)」があります。これらを理解することで、データベース操作の全体像が体系的に身に付きます。