[SQLD] #12. SQL-サブクエリ/グループ関数の使用


サブクエリ
💡 サブクエリとは
    1つのSQL文に含まれる別のSQL文
  • 括弧で囲まれたサブクエリ
  • サブクエリは、1行または複数行の比較演算子とともに使用可能
  • サブクエリがORDER BYを使用できない
  • 💡 行動別に分類
    タイプ摘要Un-Corelated(非関連)サブクエリ-サブクエリをメインクエリコラムのない形式のメインクエリの値に供給するためのメイン使用関連付け(関連付け)サブクエリ-サブクエリには、メインクエリコラムの形式があります.まず、メインクエリが実行され、サブクエリで読み込まれたデータが主に使用されるようにします.
    💡 戻りデータ形式で分類
    タイプ説明1行(Single Row)サブクエリ-サブクエリの結果は常に1個未満です.1行比較演算子と一緒に(等号、等号)を使用します.複数行(複数行)サブクエリ.複数行比較演算子と一緒に(IN、ALL、ANY、SONE、EXITなど)を使用します.複数行(複数列)サブクエリ-実行結果として複数のカラムを返します.メインクエリの「条件」セクションで、複数のカラムを同時に比較できます.サブクエリとメインクエリで比較するカラムの数と場所は同じでなければなりません.
    💡 ひょうりょうしクエリー
        1行1列のサブクエリのみを返す
    💡 行内ビュー
        テーブル名が表示される場所で使用できます.ORDER BYは使用できます.
    💡 表示
        テーブルには実際にデータがありますが、ビューには実際のデータがありません.仮想テーブルとも呼ばれます
    利点は、独立したテーブル構造が変更されても、ビューを使用するアプリケーションは変更する必要がなく、ビューで便利で複雑なクエリーを作成することで、非表示にしたい情報がある場合に使用できます.たとえば、簡単に作成できるセキュリティ従業員の給与情報などです.
    CREATE VIEW V_PLAYER_TEAM AS
    DROP VIEW V_PLAYER_TEAM;
    グループ関数(GROUP関数)
    💡 グループ関数とは?
        1つのSQLを使用してテーブルを読み込むだけで、必要なレポートをすばやく生成できます.
    💡 ROLLUP関数
        SubtotalのGROUP BYバーを生成するための小計
  • パケット列数をNと呼ぶとN+1級のSubtotalが生成される
  • 階層構造でGROUP BYのコラム順が変わると結果値が変わる.注意買い付け手順
  • 式出力値GROUP BY ROLLUP(E 1,E 2)E 1とE 2小計/E 1小計/総和
    💡 CUBE関数
        すべての組合せ可能な値を多次元集約
  • ROLLUPよりシステム負荷が大きい
  • 式出力値GROUP BY CUBE(E 1,E 2)E 1とE 2小計/E 1小計/E 2小計/総和
    💡 GROUPING SETS関数
        特定項目の小計の計算
  • GROUP BYのコラム順は関係なく、単独処理
  • 「GROUP BY CUBE(E 1,E 2)」と「GROUP BY GROUP SETS(E 1,E 2,()」の結果は同じ
  • 式出力値GROUP BY GROUPING SETS(E 1,E 2)E 1小計/E 2小計