SQL

Oracle Master Silver

Oracle SQL 副問い合わせでDMLを強化!INSERT/UPDATE/DELETE活用法

「別テーブルの検索結果を使って、データを登録したい」「特定の条件に合致する行だけ、別のテーブルの値を元に更新したい」Oracle Database を操作する中で、こうした要件に直面することは日常茶飯事です。一つひとつ値を手入力したり、プロ...
Oracle Master Silver

Oracle SQL 集合演算子:UNION ALLとMINUS等の使い方

複数のテーブルに散らばったデータを一つのリストにまとめたい、あるいは2つのデータセットを比較して「共通するデータ」や「差分」だけを抽出したいと考えたことはありませんか?Oracle SQLの集合演算子(UNION ALL、UNION、INT...
Oracle Master Silver

Oracle SQL 非スカラー副問い合わせ:複数行・複数列を扱う方法

SQLで複雑なデータ抽出を行う際、「副問い合わせ(サブクエリ)」は避けて通れません。しかし、「単一行副問い合わせにより2つ以上の行が戻されました」というエラーに悩まされたり、複数の列をまとめて条件にしたい場面で詰まったりしていませんか?この...
Oracle Master Silver

Oracle SQL スカラー副問い合わせ:基礎から高速化の定石まで

SQLでデータを抽出する際、「別のテーブルにある値を1つだけ持ってきたい」「集計結果と比較してフィルタリングしたい」と悩むことはありませんか?スカラー副問い合わせ(Scalar Subquery)は、SQL内で「1行1列」の値を返すサブクエ...
Oracle Master Silver

Oracle SQL 副問い合わせ (サブクエリ) 入門!基礎から高速化まで

SQL を書く際、「条件に別の集計結果を使いたい」「2段階の処理を1回で済ませたい」と悩むことはありませんか?Oracle 副問い合わせ(サブクエリ)を活用すると、複雑なデータ取得をシンプルに記述でき、アプリケーションのパフォーマンス向上に...
Oracle Master Silver

Oracle SQL 3つ以上の表の結合と非等価結合の正しい書き方

業務システムの開発やデータ分析では、1つのテーブルだけでなく「3つ以上の表」を組み合わせて情報を取得するシーンが頻繁にあります。また、単純なイコール(=)だけでなく、範囲条件などを使った「非等価結合」を使いこなせると、SQLの表現力が格段に...
Oracle Master Silver

Oracle SQL 表結合(JOIN)完全解説!図解とサンプルで習得

データベースを扱う上で避けては通れないのが「表の結合(JOIN)」です。「内部結合と外部結合、どちらを使えばどのような結果になるのか?」「データが消えたり増えたりする論理的な理由は?」といった疑問は、適切なサンプルデータで検証することで明確...
Oracle Master Silver

Oracle SQL 集計の応用!GROUP BY結果の再集計とROLLUP

「部門ごとの給与合計は出せた。でも、その部門合計の平均値はどうやって出すの?」Oracle Database で集計処理を行う際、一度 GROUP BY でまとめた結果に対して、さらに AVG や MAX を使いたい場面があります。本記事で...
Oracle Master Silver

Oracle SQL WHEREとHAVINGの違い!実行順序と使い分け

Oracle Database の SQL を書く際、初心者の方が最も混同しやすいのが WHERE 句と HAVING 句の違いです。どちらも「データの絞り込み」を行いますが、適用されるタイミングと対象が明確に異なります。本記事では、sco...
Oracle Master Silver

Oracle SQL GROUP BYとHAVINGの使い方!集計と条件指定

「部署ごとの給与合計を出したい」「平均点が80点以上のクラスだけ抽出したい」。このようにデータをグループ化して集計し、さらにその結果に対して条件を指定する場合、Oracle SQL では GROUP BY と HAVING を使用します。本...