
複数テーブルを JOIN したクエリが遅い場合、いくつかの原因が考えられます。ここでは、JOIN のパフォーマンス問題を診断し、...
SELECT クエリが遅いとき、闇雲にインデックスを追加するだけでは解決しないことがあります。ここでは、実践的な高速化テクニック...
本番環境で「なんか遅い」と感じたとき、原因特定の第一歩はスロークエリログです。一定時間以上かかったクエリを自動的に記録してくれる...
クエリが遅いとき、まず確認すべきなのが実行計画です。MySQL では `EXPLAIN` 文を使うことで、クエリがどのように実行...
IN 演算子とサブクエリを組み合わせると、「別のテーブルから取得した値のリストに含まれるか」をチェックできます。 基本構文 サブ...
EXISTS は、サブクエリが結果を返すかどうかをチェックする演算子です。「関連するデータが存在するか」を調べるときに使います。...
サブクエリは、クエリの中に別のクエリを埋め込む書き方です。あるクエリの結果を別のクエリの条件として使いたいときに便利です。 基本...
HAVING は、GROUP BY で集計した結果に対して条件をつけるときに使います。WHERE が集計前の絞り込みなのに対し、...
GROUP BY を使うと、特定のカラムの値ごとにデータをグループ化して集計できます。「都市ごとのユーザー数」「月ごとの売上」の...
MySQL には、データを集計するための関数がいくつか用意されています。行数を数えたり、合計や平均を計算したりするときに使います...
自己結合(セルフジョイン)は、同じテーブルを 2 回使って結合するテクニックです。階層構造やペア関係を表現するときに使います。 ...
3 つ以上のテーブルを結合したいときも、JOIN を連続して使えます。実務では、複数のテーブルにまたがるデータを取得することがよ...
LEFT JOIN を使うと、左側のテーブルをすべて残しつつ、右側のテーブルと結合できます。右側にマッチするデータがなくても、左...
複数のテーブルを結合して、関連するデータをまとめて取得するには JOIN を使います。その中でも INNER JOIN は、両方...
INSERT しようとしたときに、主キーやユニークキーが重複していたら UPDATE したい、ということがあります。そんなときは...
テーブルからデータを削除するには DELETE 文を使います。 基本構文 たとえば `users` テーブルから id が 1 ...
テーブルの既存データを更新するには UPDATE 文を使います。 基本構文 たとえば `users` テーブルで、id が 1 ...
テーブルにデータを追加するには INSERT 文を使います。 基本構文 たとえば `users` テーブルに新しいユーザーを追加...
SELECT 文の結果から重複する行を除外するには DISTINCT を使います。 基本構文 たとえば `users` テーブル...
SELECT 文で取得する行数を制限するには LIMIT を使います。大量のデータがあるテーブルから一部だけ取得したいときに便利...
SELECT 文で取得したデータを並び替えるには ORDER BY を使います。 基本構文 たとえば `users` テーブルを...
SELECT 文でデータを取得するとき、WHERE 句を使うと条件を指定して絞り込めます。 基本構文 たとえば `users` ...
MySQL でデータを取得するには SELECT 文を使います。もっとも基本的な SQL 文のひとつです。 基本構文 SELEC...












