はじめに
エンジニアになったばかりの人にとっては、何から始めればいいかわからないと思うので、優先的に学習してほしいSQL構文をまとめました。
実務でどんなSQL構文がよく使われるかは、企業や業務によって違うと思いますが、少しでも参考になれば嬉しいです。
文
文 | 説明 |
---|---|
ALTER TABLE | 既存のテーブル構造を変更する。 |
COMMIT | トランザクションを確定して、変更内容をデータベースに反映する。 |
DELETE | テーブルから指定した条件のデータを削除する。 |
DROP INDEX | インデックス(検索速度向上用の仕組み)を削除する。 |
DROP TABLE | テーブルそのものを削除する。 |
EXPLAIN | SQLの実行計画(どのように検索・結合されるか)を確認する。 |
IF | 条件によって処理を分岐させる制御構文。 |
INSERT | テーブルに新しいデータを追加する。 |
ROLLBACK | トランザクションを取り消して、直前の状態に戻す。 |
SELECT | テーブルからデータを取得する。 |
UPDATE | 既存のデータを更新・変更する。 |
句
句 | 説明 |
---|---|
AS | 列やテーブルに別名をつける。 |
DISTINCT | 重複するデータを除外して一意なデータだけを取得する。 |
GROUP BY | データを指定したカラムでグループ化して集計する。 |
HAVING | GROUP BYでグループ化した後に条件を指定する。 |
JOIN | 複数のテーブルを結合してデータを取得する。 |
LEFT JOIN | 左側のテーブルの全データを保持しつつ、右側と一致したものを取得する。 |
LIMIT | 取得する行数を制限する。 |
ORDER BY | データの並び順を指定する。 |
UNION | 複数のSELECT文の結果を縦方向に結合する。 |
WHERE | 操作するデータに条件を指定する。 |
演算子
演算子 | 説明 |
---|---|
AND | 複数条件のすべてを満たす場合に真を返す。 |
BETWEEN | 指定した範囲内に値があるかを判定する。 |
EXISTS | サブクエリに結果があるかを判定する。 |
IN | 指定したリストに一致する値があるかを判定する。 |
IS | 特殊な値との比較を行う。 |
LIKE | パターン一致検索を行う。 |
NOT | 条件を否定する。 |
OR | 複数条件のいずれかを満たす場合に真を返す。 |
関数
関数 | 説明 |
---|---|
COALESCE | 引数の中で最初にNULLでない値を返す。 |
COUNT | データの件数をカウントする集計関数。 |
CURRENT_DATE | 現在の日付を返す。 |
CURRENT_TIME | 現在の時刻を返す。 |
CURRENT_TIMESTAMP | 現在の日付と時刻を返す。 |
MAX | 指定した列の中で最大値を返す。 |
MIN | 指定した列の中で最小値を返す。 |
NOW | 現在の日付と時刻を返す。 |
SUM | 数値の合計を返す集計関数。 |
おわりに
今回は、エンジニアになったばかりの人に優先的に学習してほしいSQL構文を紹介しました。
他にもいろいろなSQL構文があるので、もし興味があれば、以下のURLからMySQL 8.4 Reference Manualにアクセスしてみてください。