Google Play badge

sql


SQL入門

SQL構造化照会言語)は、リレーショナル データベースを管理し、データベース内のデータに対してさまざまな操作を実行するために使用される標準化されたプログラミング言語です。 SQL は非常に汎用性が高く、データベース管理者、データ アナリスト、開発者がデータベース内のデータの照会、挿入、更新、削除に使用します。

データベースを理解する

SQL の中心にあるのは、データベースの概念です。データベースは、データの管理と取得を容易にする方法で整理された関連データのコレクションと考えることができます。データベースは、主にリレーショナル データベース非リレーショナル データベースの2 種類に分類されます。SQL は主に、関係を通じて互いに接続されたテーブルにデータが格納されるリレーショナル データベースで使用されます。

基本的なSQLコマンド

リレーショナル データベースを操作するために不可欠なコア SQL コマンドがいくつかあります。

SELECT ステートメントの操作

データベースで最も頻繁に実行される操作の 1 つは、 SELECTステートメントを使用してデータをクエリすることです。SELECT ステートメントの最も単純な形式は次のとおりです。

tableName から列1、列2を選択します。

このコマンドは、指定されたテーブルから指定された列を返します。テーブルからすべての列を選択するには、アスタリスク (*) 記号を使用します。

テーブル名から * を選択;

WHERE句によるデータのフィルタリング

SELECT ステートメントによって返される結果を絞り込むには、 WHERE句を使用できます。この句は、データが選択されるために満たす必要がある条件を指定します。例:

SELECT * FROM employees WHERE department = 'Sales';

このコマンドは、従業員テーブル内で部門列の値が「Sales」であるすべての行を返します。

テーブルの結合

リレーショナル データベースでは、多くの場合、データは複数のテーブルに分散されます。2 つ以上のテーブル間の関連列に基づいて行を結合するプロセスは、結合と呼ばれます。最も一般的な結合操作はINNER JOINで、両方のテーブルに少なくとも 1 つの一致がある場合に行を返します。

例:

SELECT employees.name, departments.name FROM employees INNER JOIN departments ON employees.department_id = departments.id;

このコマンドは、一致するdepartment_id 列id列に基づいてそれぞれemployeesテーブルとdepartmentsテーブルを結合し、両方のテーブルからname列を選択します。

データのグループ化

SQL では、指定した列に同じ値を持つ行をグループ化して集計データにすることができます。たとえば、各部門の従業員数をカウントできます。これは、GROUP BYステートメントを使用して実現されます。クエリの例は次のようになります。

部門を選択し、COUNT(*) AS number_of_employees FROM employees GROUP BY department;

このコマンドは、従業員テーブルの行を部門列ごとにグループ化し、各部門の従業員数をカウントします。

集計関数の使用

SQL には、一連の値に対して操作を行い、単一の値を返す集計関数がいくつか用意されています。よく使用される集計関数には次のものがあります。

たとえば、従業員テーブルの最大給与を検索するには、次のクエリを使用できます。

従業員からMAX(給与)を選択します。

取引

SQL のトランザクションは、1 つの単位として実行される 1 つ以上の SQL コマンドのシーケンスです。トランザクションは、ACID プロパティ (原子性、一貫性、独立性、永続性) に準拠することでデータベースの整合性を保証します。基本的なトランザクションには、次のようなものが含まれます。

インデックス

データベース テーブルの検索とクエリのパフォーマンスを向上させるために、SQL はインデックスを使用します。インデックスは、データベース管理システムがデータの取得を高速化するために使用できる内部参照テーブルを作成します。簡単に言えば、データベース テーブルのインデックスは、本の索引とほぼ同じように機能します。

インデックスの作成は、 CREATE INDEXステートメントを使用して実行できます。次に例を示します。

employees(name) に idx_employee_name インデックスを作成します。

このコマンドは、従業員テーブルの名前列にインデックスを作成します。これにより、従業員名によるフィルタリングや並べ替えのクエリをより効率的に実行できるようになります。

SQL制約

SQL の制約は、テーブル内のデータに適用されるルールです。これらは、データベース内のデータの正確性と信頼性を確保するために使用されます。一般的な制約には次のものがあります。

まとめ

SQL は、リレーショナル データベースを管理するための強力なツールです。SQL は、データのクエリ、挿入、更新、削除を構造化された方法で実行し、ユーザーがデータベースを効率的に操作できるようにします。基本的な SQL コマンド、データとテーブルの操作方法、トランザクションやインデックスなどの高度な機能の使用方法を理解することで、データベースの管理とパフォーマンスを大幅に向上できます。これらの概念を習得することで、データベース ユーザーと開発者は、データとアプリケーションの整合性、パフォーマンス、信頼性を確保できます。

Download Primer to continue