SQL チートシート - 最も役立つ SQL コマンド
必須のSQLコマンドと操作
目次
以下は、提供されたHugoページコンテンツの日本語への翻訳です。すべてのHugoショートコード、技術要素、構造を保持しつつ、日本語の文法、文体、表記規則に従って翻訳を行いました。
以下は、最も重要なコマンドと操作をカバーしたSQLチートシートです:
SQLのプロフェッショナルにとっては新しい内容は見つからないかもしれませんが、DB開発に初めて触れる方にとっては役立つかもしれません。
データのクエリ
特定の列を選択:
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ジョイン操作です:
-
INNER JOIN:
- ジョイン条件に基づいて、両方のテーブルに一致する行のみを返します。
- もう一方のテーブルに一致する行がない場合は、それらの行は除外されます。
- 両方のテーブルに存在するデータのみを取得したい場合に役立ちます。
-
LEFT JOIN(LEFT OUTER JOINとも呼ばれます):
- 左のテーブルのすべての行と、右のテーブルに一致する行を返します。
- 右のテーブルに一致する行がない場合でも、左のテーブルの行は含まれ、右のテーブルの列にはNULL値が入ります。
- 左のテーブルのすべてのレコードを確認したい場合に役立ちます。
主な違い:
-
結果セット:
- INNER JOIN: 一致する行のみを返します。
- LEFT JOIN: 左のテーブルのすべての行と、右のテーブルに一致する行を返します。
-
NULL値:
- INNER JOIN: 一致しない行にはNULL値は生成されません。
- LEFT JOIN: 右のテーブルに一致しない場合、右のテーブルの列にNULL値が生成されます。
-
使用ケース:
- INNER JOIN: 両方のテーブルに存在するデータが必要な場合に使用します。
- LEFT JOIN: 1つのテーブルのすべてのデータと、もう1つのテーブルに一致するデータが必要な場合に使用します。
-
データの完全性:
- INNER JOIN: 一致しないデータがある場合、データが除外される可能性があります。
- LEFT JOIN: 左のテーブルのすべてのデータを含め、より完全なビューを提供します。
これらの違いを理解することで、特定のデータ取得のニーズや分析の目的に応じて、適切なジョインタイプを選択できます。