SQLを使っていると、次のように複数行の値をカンマ区切りで1つにまとめたい場面があります。 🔹例:従業員テーブル これを次のように集約したい👇 こういった「行→1セルまとめ」が必要な時に便利なのが、 👉 LISTAGG👉 STRING_AG …



SQLを使っていると、次のように複数行の値をカンマ区切りで1つにまとめたい場面があります。 🔹例:従業員テーブル これを次のように集約したい👇 こういった「行→1セルまとめ」が必要な時に便利なのが、 👉 LISTAGG👉 STRING_AG …

SQLで日付条件を使ってデータを抽出したい場合、代表的な書き方として BETWEEN や >= / <=(範囲指定) を利用します。しかし、実務では 時間を含むデータ や 境界値の違い により、意図したデータが取得できないケース …

SQLで集計処理を行う際に必ず出てくるのが WHERE句 と HAVING句 の違いです。どちらも「条件を絞り込む」ための構文ですが、役割が明確に異なります。この記事では、 HAVING句を使うべきケース と WHEREとの使い分け をわか …

中央値を使う場面 中央値(MEDIAN)は、極端な値(外れ値)の影響を受けにくい指標として、業務システムやデータ分析でよく使われます。例:処理時間の中央値、売上の中央値、レスポンス時間の中央値など。 SQLではDBMSによって書き方が大きく …

SQLで半角 全角 変換 SQL を実行したい場面は、顧客データの正規化・文字種統一・基幹システム間のデータ連携などで非常に多く発生します。カタカナ・英数字・記号などは半角/全角の表記ゆれが多く、SQLだけで統一できるとバッチ処理やETLの …

SQLの処理が遅いと感じたとき、多くの人が「サーバが遅いのでは?」と思いがちです。しかし、実際の原因の多くは「インデックス(索引)」の使い方にあります。この記事では、インデックスの基本構造から、実際のチューニング手法までを体系的に解説します …

SQLでパフォーマンスを高めるうえで「結合順序(Join Order)」は非常に重要な要素です。同じ結果を返すクエリでも、テーブルの結合順序によって処理時間が大きく変わることがあります。 この記事では、結合順序を意識したSQLの最適化方法を …

SQLでサブクエリを使って除外条件を指定する際に利用される「NOT IN」と「NOT EXISTS」。両者の動作の違いやNULLの扱い、パフォーマンス差を実例付きで徹底解説します。 EXISTS は ANSI SQL(国際標準SQL)に含ま …

SQLを使ってデータを扱うとき、表の形を「横持ち」や「縦持ち」に変換したい場面は多々あります。例えば、月ごとの売上を列ごとに並べたい、あるいはアンケート結果を1列にまとめたいなど。 こうした「表の回転」に便利なのが PIVOT と UNPI …

MySQLを運用していると、ある日突然アプリケーション側から「Too many connections」というエラーが返され、データベースに接続できなくなることがあります。これは利用者にとってはサイトやサービスが「停止状態」と同じであり、早 …