xutil.dev
ログイン

SQL チートシート

SQL構文のクイックリファレンス。DDL、DML、SELECTクエリ、JOIN、集約関数、サブクエリ、ウィンドウ関数、インデックスを網羅

69 件のコマンド

CREATE TABLE

テーブルを作成

DROP TABLE

テーブルを削除

ALTER TABLE ADD

テーブルにカラムを追加

ALTER TABLE DROP

テーブルからカラムを削除

ALTER TABLE MODIFY

カラムの型を変更

ALTER TABLE RENAME

テーブル名を変更

TRUNCATE TABLE

テーブルの全データを高速削除

CREATE DATABASE

データベースを作成

DROP DATABASE

データベースを削除

CREATE VIEW

ビューを作成

INSERT INTO

データを挿入

INSERT INTO ... SELECT

SELECTの結果を挿入

UPDATE

データを更新

DELETE

データを削除

UPSERT (MySQL)

存在すれば更新、なければ挿入(MySQL)

UPSERT (PostgreSQL)

存在すれば更新、なければ挿入(PostgreSQL)

MERGE

マージ(UPSERT的操作)

SELECT

データを取得

SELECT DISTINCT

重複を除外して取得

WHERE

条件でフィルタリング

AND / OR

複数条件の組み合わせ

IN

値のリストに含まれるか判定

BETWEEN

範囲内の値を取得

LIKE

パターンマッチング

IS NULL / IS NOT NULL

NULLチェック

ORDER BY

結果をソート

LIMIT / OFFSET

取得行数を制限

CASE WHEN

条件分岐

COALESCE

最初のNULLでない値を返す

INNER JOIN

内部結合(両テーブルに一致する行のみ)

LEFT JOIN

左外部結合(左テーブルの全行を保持)

RIGHT JOIN

右外部結合(右テーブルの全行を保持)

FULL OUTER JOIN

完全外部結合(両テーブルの全行を保持)

CROSS JOIN

交差結合(全組み合わせ)

SELF JOIN

自己結合(同一テーブルを結合)

NATURAL JOIN

自然結合(同名カラムで自動結合)

COUNT

行数をカウント

SUM

合計値を計算

AVG

平均値を計算

MAX

最大値を取得

MIN

最小値を取得

GROUP BY

グループ化して集計

HAVING

グループ化後のフィルタリング

GROUP_CONCAT (MySQL)

グループ内の値を連結

STRING_AGG (PostgreSQL)

グループ内の値を連結

WHERE ... IN (SELECT)

サブクエリの結果でフィルタ

EXISTS

サブクエリの結果が存在するか判定

スカラーサブクエリ

単一値を返すサブクエリ

WITH (CTE)

共通テーブル式を定義

WITH RECURSIVE

再帰CTEを定義

UNION

複数SELECTの結果を結合(重複除去)

UNION ALL

複数SELECTの結果を結合(重複含む)

ROW_NUMBER()

行番号を付与

RANK()

順位を付与(同値は同順位、次はスキップ)

DENSE_RANK()

順位を付与(同値は同順位、次はスキップなし)

LAG()

前の行の値を取得

LEAD()

次の行の値を取得

SUM() OVER

累積合計を計算

PARTITION BY

パーティション(グループ)内でウィンドウ関数を適用

NTILE()

行をN個のグループに均等分割

CREATE INDEX

インデックスを作成

CREATE UNIQUE INDEX

ユニークインデックスを作成

DROP INDEX

インデックスを削除

PRIMARY KEY

主キー制約を設定

FOREIGN KEY

外部キー制約を設定

UNIQUE

ユニーク制約を設定

CHECK

チェック制約を設定

NOT NULL

NOT NULL制約を設定

DEFAULT

デフォルト値を設定