>_FoxiRef
SQL

SQL チートシート

よく使うSQL コマンド集

#クエリ (SELECT)

コマンド説明
SELECT * FROM table全カラムを取得
SELECT col1, col2 FROM table特定カラムを取得
SELECT DISTINCT col FROM table重複を除いて取得
SELECT col AS alias FROM table別名を使用
SELECT * FROM table LIMIT 10結果数を制限
SELECT * FROM table OFFSET 5結果をスキップ

#条件 (WHERE)

コマンド説明
WHERE col = value等しい
WHERE col <> value等しくない
WHERE col > valueより大きい
WHERE col >= value以上
WHERE col < valueより小さい
WHERE col <= value以下
WHERE col BETWEEN a AND b範囲内
WHERE col IN (v1, v2, v3)リスト内
WHERE col LIKE '%pattern%'パターンマッチング
WHERE col IS NULLNULLチェック
WHERE col IS NOT NULLNOT NULLチェック
WHERE cond1 AND cond2AND条件
WHERE cond1 OR cond2OR条件
WHERE NOT conditionNOT条件

#ソート (ORDER BY)

コマンド説明
ORDER BY col昇順ソート
ORDER BY col ASC昇順(明示的)
ORDER BY col DESC降順ソート
ORDER BY col1, col2複数カラムでソート
ORDER BY col NULLS FIRSTNULLを先頭に
ORDER BY col NULLS LASTNULLを最後に

#集計関数

コマンド説明
COUNT(*)行数
COUNT(col)NULL以外をカウント
COUNT(DISTINCT col)ユニーク値をカウント
SUM(col)合計
AVG(col)平均
MIN(col)最小値
MAX(col)最大値
GROUP BY colグループ化
HAVING conditionグループのフィルタ

#結合 (JOIN)

コマンド説明
INNER JOIN t2 ON t1.col = t2.col内部結合
LEFT JOIN t2 ON t1.col = t2.col左外部結合
RIGHT JOIN t2 ON t1.col = t2.col右外部結合
FULL OUTER JOIN t2 ON ...完全外部結合
CROSS JOIN t2クロス結合
SELF JOIN (t AS a, t AS b)自己結合
NATURAL JOIN t2自然結合

#挿入 (INSERT)

コマンド説明
INSERT INTO t (cols) VALUES (vals)単一行を挿入
INSERT INTO t VALUES (v1), (v2)複数行を挿入
INSERT INTO t SELECT ...SELECTから挿入
INSERT INTO t DEFAULT VALUESデフォルト値で挿入

#更新 (UPDATE)

コマンド説明
UPDATE t SET col = val全行を更新
UPDATE t SET col = val WHERE ...条件付き更新
UPDATE t SET c1 = v1, c2 = v2複数カラムを更新
UPDATE t SET col = col + 1値をインクリメント

#削除 (DELETE)

コマンド説明
DELETE FROM t全行を削除
DELETE FROM t WHERE ...条件付き削除
TRUNCATE TABLE tテーブルを空に(高速)

#テーブル管理

コマンド説明
CREATE TABLE t (col type, ...)テーブルを作成
DROP TABLE tテーブルを削除
ALTER TABLE t ADD col typeカラムを追加
ALTER TABLE t DROP COLUMN colカラムを削除
ALTER TABLE t RENAME TO newテーブル名を変更
CREATE INDEX idx ON t(col)インデックスを作成
DROP INDEX idxインデックスを削除

#制約

コマンド説明
PRIMARY KEYプライマリキー
FOREIGN KEY REFERENCES t(col)外部キー
UNIQUEユニーク制約
NOT NULLNOT NULL制約
DEFAULT valueデフォルト値
CHECK (condition)チェック制約
AUTO_INCREMENT / SERIAL自動増分

#サブクエリ

コマンド説明
WHERE col IN (SELECT ...)INサブクエリ
WHERE col = (SELECT ...)スカラサブクエリ
WHERE EXISTS (SELECT ...)EXISTSサブクエリ
SELECT (SELECT ...) AS colSELECT句サブクエリ
FROM (SELECT ...) AS tFROM句サブクエリ
WITH cte AS (SELECT ...)CTE(共通テーブル式)

#文字列/日付関数

コマンド説明
CONCAT(s1, s2)文字列を連結
UPPER(str) / LOWER(str)大文字/小文字変換
LENGTH(str)文字列の長さ
SUBSTRING(str, start, len)部分文字列
TRIM(str)空白を除去
REPLACE(str, from, to)文字列を置換
NOW() / CURRENT_TIMESTAMP現在時刻
DATE(datetime)日付を抽出
YEAR(date) / MONTH(date)年/月を抽出
DATEDIFF(d1, d2)日付の差

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

SQL チートシート - コマンドリファレンス | Foxi Dev Reference