🗄️ 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 NULL | NULL判定 | 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で共通して使えます。
印刷して使える?
はい。印刷に最適化されたレイアウトで出力されます。