SQL チュートリアル

このSQLチュートリアルは、多くの実践的な例を通して、迅速かつ効果的にSQLを始めるのに役立ちます。

ソフトウェア開発者、データベース管理者、データアナリスト、またはデータを分析するためにSQLを使用したいデータサイエンティストであれば、このチュートリアルは良いスタートとなります。

各トピックは、概念を真に理解し、データの課題をより効果的に解決するために適用するのに役立つ多くの実践的な例を用いて、明確かつ簡潔に説明されています。

SQLは、**S**tructured **Q**uery **L**anguageの略で、リレーショナルデータベース管理システム(RDBMS)内のデータを操作するために設計されています。

今日、SQLはデータとやり取りするための最も一般的なプログラミング言語の1つです。

セクション1:SQL入門

セクション2:データのクエリ

  • SELECT文 – SELECT文の最も単純な形式を使用して、単一テーブルからデータをクエリする方法を示します。

セクション3:データのソート

  • ORDER BY句 – データを1つ以上の列で昇順および/または降順にソートします。

セクション4:データのフィルタリング

  • DISTINCT – 結果セットから重複を削除する方法を示します。
  • LIMIT – LIMITおよびOFFSET句を使用して、クエリによって返される行数を制限します。
  • FETCH – 結果セットでN行をスキップしてから行を返す方法を学習します。
  • WHERE句 – 指定された条件に基づいてデータをフィルタリングします。
  • 比較演算子 – 大なり、大なりイコール、小なり、小なりイコール、イコール、等しくないを含む比較演算子を使用して、WHERE句で条件を形成する方法を学習します。
  • 論理演算子 – 論理演算子とその条件の真偽値をテストする方法を紹介します。
  • AND演算子 – AND論理演算子を使用して複数のブール式を組み合わせます。
  • OR演算子 – 別の論理演算子ORを使用して複数のブール式を組み合わせる方法を示します。
  • BETWEEN演算子 – BETWEEN演算子を使用して、値の範囲内のデータを選択する方法を説明します。
  • IN演算子 – IN演算子を使用して、値が値のリスト内にあるかどうかを確認する方法を示します。
  • LIKE演算子 – 指定されたパターンに基づいてデータをクエリします。
  • IS NULL演算子 – NULLの概念を紹介し、式がNULLかどうかを確認する方法を示します。
  • NOT演算子 – NOT演算子を使用してブール式を否定する方法を示します。

セクション5:条件式

  • CASE式 – SQL文にif-then-elseロジックを追加します。

セクション6:複数のテーブルの結合

  • SQLエイリアス – クエリを短く、より分かりやすくします。
  • INNER JOIN – 結合の概念を紹介し、INNER JOIN句を使用して複数のテーブルのデータを結合する方法を示します。
  • LEFT OUTER JOIN – 複数のテーブルのデータを結合できる別の種類の結合を提供します。
  • FULL OUTER JOIN – 行が別のテーブルから一致する行を持っているかどうかに関係なく、両方のテーブルからの行を含めることで、複数のテーブルを結合します。
  • CROSS JOIN – クロス結合操作を使用して、結合されたテーブルの行のデカルト積を生成します。
  • SELF JOIN – INNER JOIN句またはLEFT JOIN句を使用して、テーブル自身を結合します。

セクション7:集約関数

  • 集約関数 – AVG、COUNT、SUM、MAX、MINなど、SQLで最も一般的に使用される集約関数を紹介します。
  • AVG – セットの平均値を計算します。
  • COUNT – セット内のアイテム数を返します。
  • SUM – セットのすべてのアイテムまたは個別のアイテムの合計を返します。
  • MAX – セット内の最大値を見つけます。
  • MIN – セット内の最小値を見つけます。

セクション8:データのグループ化

  • GROUP BY – 行をグループにまとめ、各グループに集約関数を適用します。
  • HAVING – GROUP BY句で集計されたグループをフィルタリングするための条件を指定します。
  • GROUPING SETS – 複数のグループ化セットを生成します。
  • ROLLUP – 入力列の階層を考慮して、複数のグループ化セットを生成します。
  • CUBE – 入力列のすべて可能な組み合わせに対して、複数のグループ化セットを生成します。

セクション9:集合演算子

  • UNIONとUNION ALL – UNIONおよびUNION ALL演算子を使用して、2つ以上のクエリの結果セットを単一の結果セットに結合します。
  • INTERSECT – INTERSECT演算子を使用して、2つ以上のクエリの共通部分を返します。
  • MINUS – MINUS演算子を使用して、結果セットから別の結果セットを減算します。

セクション10. サブクエリ

  • サブクエリ – クエリを別のクエリの中にネストして、データをクエリするためのより柔軟なクエリを形成する方法を示します。
  • 相関サブクエリ – 外側のクエリからの値を使用する相関サブクエリを紹介します。
  • EXISTS – サブクエリから返された行の存在を確認する方法を示します。
  • ALL – テーブルの列の値と列のセットを比較してデータをクエリする方法を示します。
  • ANY – テーブルの列の値がセット内の値の1つと一致する場合にデータをクエリします。

セクション11:データの変更

  • INSERT – テーブルに1つ以上の行を挿入します。
  • UPDATE – テーブル内の既存のデータを更新します。
  • DELETE – テーブルからデータを完全に削除します。

セクション12:テーブル構造の操作

  • CREATE TABLE – データベースに新しいテーブルを作成します。
  • ALTER TABLE – 既存のテーブルの構造を変更します。
  • DROP TABLE – テーブルを完全に削除します。
  • TRUNCATE TABLE – 大きなテーブル内のすべてのデータを迅速かつ効率的に削除します。

セクション13:制約

  • PRIMARY KEY – テーブルの主キーを定義する方法を示します。
  • FOREIGN KEY – 外部キー制約を使用して2つのテーブルのデータ間の関係を強制する手順を説明します。
  • UNIQUE – 列または列のセットの値の一意性を確保します。
  • NOT NULL – 列に挿入または更新された値がNULLにならないようにします。
  • CHECK – ブール式に基づいて、1つ以上の列に格納される前にデータを検証します。