🗄️ SQLチートシート

構文用途
SELECTデータ取得SELECT name, age FROM users;
WHERE条件絞り込みSELECT * FROM users WHERE age > 18;
INNER JOIN両テーブルに一致する行SELECT * FROM users INNER JOIN orders ON users.id = orders.user_id;
LEFT JOIN左テーブル全行+一致する右SELECT * FROM users LEFT JOIN orders ON users.id = orders.user_id;
RIGHT JOIN右テーブル全行+一致する左SELECT * FROM orders RIGHT JOIN users ON ...
GROUP BYグループ化して集計SELECT city, COUNT(*) FROM users GROUP BY city;
HAVING集計結果の絞り込み... GROUP BY city HAVING COUNT(*) > 5;
ORDER BY並び替えSELECT * FROM users ORDER BY age DESC;
LIMIT取得件数制限SELECT * FROM users LIMIT 10 OFFSET 20;
INSERTデータ挿入INSERT INTO users (name, age) VALUES ('太郎', 20);
UPDATEデータ更新UPDATE users SET age = 21 WHERE id = 1;
DELETEデータ削除DELETE FROM users WHERE id = 1;
CREATE TABLEテーブル作成CREATE TABLE users (id SERIAL PRIMARY KEY, name TEXT);
ALTER TABLEテーブル変更ALTER TABLE users ADD COLUMN email TEXT;
DROPテーブル削除DROP TABLE IF EXISTS users;
INDEX検索高速化CREATE INDEX idx_email ON users(email);
DISTINCT重複排除SELECT DISTINCT city FROM users;
LIKEパターンマッチSELECT * FROM users WHERE name LIKE '田%';
IN複数値マッチSELECT * FROM users WHERE city IN ('東京', '大阪');
BETWEEN範囲指定SELECT * FROM users WHERE age BETWEEN 18 AND 30;
IS NULLNULL判定SELECT * FROM users WHERE email IS NULL;
UNION結果の結合SELECT name FROM staff UNION SELECT name FROM clients;
SUBQUERY副問い合わせSELECT * FROM users WHERE id IN (SELECT user_id FROM orders);
CASE条件分岐SELECT CASE WHEN age > 18 THEN '成人' ELSE '未成年' END;
COUNT/SUM/AVG集計関数SELECT COUNT(*), AVG(age), MAX(age) FROM users;

📖 関連する用語

    ❓ よくある質問

    SQLチートシートはどんな人向け?

    SQL初心者〜中級者向け。基本クエリから集計・結合まで網羅しています。

    どのデータベースで使える?

    MySQL、PostgreSQL、SQLiteなど主要なRDBMSで共通して使えます。

    印刷して使える?

    はい。印刷に最適化されたレイアウトで出力されます。

    🗄️ データベースを学ぼう!

    SQLの基礎を理解して、データを自在に操作しましょう。

    用語集を見る →