SQL クイックリファレンス

必須のSQLコマンドと操作

目次

以下は、SQLに関する簡潔なSQLチートシートです。必須のコマンドと操作をカバーしています。

ゴシック様式のカトリーダーにあるSQL

データのクエリ

特定の列を選択:

SELECT column1, column2 FROM table_name;

すべての列を選択:

SELECT * FROM table_name;

重複した値を選択:

SELECT DISTINCT column1, column2 FROM table_name;

データをフィルタリング:

SELECT column1, column2 FROM table_name WHERE condition;

データをソート:

SELECT column1, column2 FROM table_name ORDER BY column1 [ASC|DESC];

データの変更

行を挿入:

INSERT INTO table_name (column1, column2) VALUES (value1, value2);

データを更新:

UPDATE table_name SET column1 = value1 WHERE condition;

データを削除:

DELETE FROM table_name WHERE condition;

テーブル操作

テーブルを作成:

CREATE TABLE table_name (
    column1 datatype PRIMARY KEY,
    column2 datatype,
    column3 datatype
);

テーブルを変更:

ALTER TABLE table_name ADD column_name datatype;

テーブルを削除:

DROP TABLE table_name;

ジョイン

インナージョイン:

SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column;

レフトジョイン:

SELECT * FROM table1 LEFT JOIN table2 ON table1.column = table2.column;

集計関数

行をカウント:

SELECT COUNT(*) FROM table_name;

値を合計:

SELECT SUM(column_name) FROM table_name;

値の平均:

SELECT AVG(column_name) FROM table_name;

グループ化:

SELECT column1, COUNT(*) FROM table_name GROUP BY column1;

サブクエリ

SELECT内でサブクエリ:

SELECT column1, (SELECT AVG(column2) FROM table2) AS avg_col2 FROM table1;

WHERE内でサブクエリ:

SELECT * FROM table1 WHERE column1 IN (SELECT column2 FROM table2);

ビュー

ビューを作成:

CREATE VIEW view_name AS SELECT column1, column2 FROM table_name WHERE condition;

ビューを削除:

DROP VIEW view_name;

このチートシートは、最もよく使用されるSQLコマンドと操作をカバーしています。

これは、クエリ、データの変更、テーブル操作、ジョイン、集計関数、サブクエリ、ビューに関するクイックリファレンスを提供します。

インナージョインとアウタージョインの違い

INNER JOINとLEFT JOINは、複数のテーブルからのデータをどのように組み合わせるかが異なる、2つの一般的なSQLジョイン操作です。

  1. INNER JOIN:

    • ジョイン条件に基づいて、両方のテーブルに一致する行のみを返します。
    • 他方のテーブルに一致する行がない場合は、それらの行を除外します。
    • 両方のテーブルに存在するデータのみを取得したい場合に役立ちます。
  2. LEFT JOIN(またはLEFT OUTER JOIN):

    • 左のテーブルのすべての行と、右のテーブルに一致する行を返します。
    • 右のテーブルに一致する行がない場合でも、左のテーブルの行を含め、右のテーブルの列に対してNULL値を埋めます。
    • 左のテーブルのすべてのレコードを確認したい場合、右のテーブルに一致するデータがない場合でも役立ちます。

主な違い:

  1. 結果セット:

    • INNER JOIN: 一致する行のみを返します。
    • LEFT JOIN: 左のテーブルのすべての行と、右のテーブルに一致する行を返します。
  2. NULL値:

    • INNER JOIN: 一致しない行にNULL値は生成されません。
    • LEFT JOIN: 右のテーブルに一致しない場合、右のテーブルの列に対してNULL値が生成されます。
  3. 使用ケース:

    • INNER JOIN: 両方のテーブルに存在するデータが必要な場合に使用します。
    • LEFT JOIN: 1つのテーブルのすべてのデータと、他方のテーブルに一致するデータが必要な場合に使用します。
  4. データの完全性:

    • INNER JOIN: 一致しないデータがある場合、データが除外される可能性があります。
    • LEFT JOIN: 左のテーブルのすべてのデータを含め、左のテーブルのデータに関するより完全なビューを提供します。

これらの違いを理解することで、特定のデータ取得のニーズや分析の目的に応じて、適切なジョインタイプを選択できます。

有用なリンク