SQL 問題 その1

  【重要】 所属別支給額情報



sql01 sql02 sql03 sql04 sql05 sql06 販売管理B.mdb のダウンロード


所属所属名平均支給額支給額合計最高支給額最低支給額
0002営業部第ニ2420003630000307000170000
0003営業部第三2497143496000300000150000
0001営業部第一2106194423000300000140000

  • 社員マスタ を元に各値を取得します
  • 所属名は コード名称マスタ より取得します (結合)
  • 表示順序は最高支給額が多い順です

  • ★ 典型的なグループ関数の使い方です。
    ★ 特に集計関数を使用した所属名の表示方法は重要です
    ★ 手当には NULL 値が含まれます、0 として処理して下さい
    ★ 平均支給額には 四捨五入または切り捨て関数 を使用して下さい

  • Excel・MDB 以外は order by に別名を指定できます





  • 解答



      9月度売上商品数



    9月度売上商品数
    72

  • 取引データ を元に、9月に販売された商品の種類をカウントします

  • ★ 重複する行を取り除く方法を考えて下さい
    ★ 9月の判断は取引日付より行いますが、いろいろな方法があります
       1) between を使う
       2) 関数を使う

    MDB : DatePart
    Oracle : EXTRACT または TO_CHAR

  • MDB では 重複を取り除いた結果 をカウントするという手法を取ります
  • SQLServer、Oracle、PostgreSQL の場合、タイトル用の別名の書き方 に注意して下さい




  • 解答



      【重要】 郵便番号マスタ

    ●全行数
    3715
    ●重複しない件数
    3696

    全データより ( データは大阪府のみです ) 全行数と、郵便番号が重複しない件数を取得します

    ★ それぞれの結果だけなら簡単ですが、union でタイトル行も追加します
    ★ ソートする必要もあるので、union の結果をインラインビューとします

    ★ SQLServer、Oracle は union する場合、同一カラムのデータ型がチェックされます





    解答



      一つの郵便番号で一つの市区町村名しか無い郵便番号のデータ件数

    グループ関数の結果を使って表示結果に変化を与えるには?
    ( having のトレーニング )

    郵便番号頭3桁市区町村名1市区町村名2件数
    573枚方市枚方市208
    569高槻市高槻市195
    540大阪市中央区大阪市中央区179
    567茨木市茨木市143
    581八尾市八尾市130
    572寝屋川市寝屋川市128
    531大阪市北区大阪市北区92
    577東大阪市東大阪市90
    530大阪市北区大阪市北区84
    570守口市守口市82
    586河内長野市河内長野市81
    584富田林市富田林市79
    594和泉市和泉市75
    571門真市門真市71
    561豊中市豊中市64
    578東大阪市東大阪市57
    574大東市大東市55
    597貝塚市貝塚市55
    565吹田市吹田市48
    579東大阪市東大阪市47
    564吹田市吹田市47
    543大阪市天王寺区大阪市天王寺区46
    560豊中市豊中市41
    566摂津市摂津市36
    576交野市交野市35
    557大阪市西成区大阪市西成区33
    562箕面市箕面市33
    575四條畷市四條畷市33
    547大阪市平野区大阪市平野区33
    591堺市堺市30
    558大阪市住吉区大阪市住吉区30
    582柏原市柏原市30
    580松原市松原市30
    545大阪市阿倍野区大阪市阿倍野区26
    589大阪狭山市大阪狭山市25
    559大阪市住之江区大阪市住之江区25
    587堺市堺市24
    593堺市堺市24
    532大阪市淀川区大阪市淀川区24
    556大阪市浪速区大阪市浪速区24
    536大阪市城東区大阪市城東区21
    542大阪市中央区大阪市中央区21
    544大阪市生野区大阪市生野区21
    546大阪市東住吉区大阪市東住吉区21
    533大阪市東淀川区大阪市東淀川区20
    550大阪市西区大阪市西区19
    554大阪市此花区大阪市此花区19
    555大阪市西淀川区大阪市西淀川区18
    552大阪市港区大阪市港区17
    541大阪市中央区大阪市中央区17
    538大阪市鶴見区大阪市鶴見区16
    534大阪市都島区大阪市都島区16
    568茨木市茨木市16
    618三島郡島本町三島郡島本町14
    537大阪市東成区大阪市東成区13
    551大阪市大正区大阪市大正区13
    535大阪市旭区大阪市旭区12
    553大阪市福島区大阪市福島区8
    630東大阪市東大阪市2
    539大阪市中央区大阪市中央区1




    解答



      町域数100以上の市区町村

    ★ 町の多い市区町村
    ★ 前問と同じく、グループ関数の結果によって条件を設定します

    市区町村名件数
    堺市353
    大阪市中央区218
    枚方市208
    東大阪市196
    高槻市195
    大阪市北区176
    茨木市159
    八尾市130
    寝屋川市128
    豊中市105
    岸和田市100



    解答



      【重要】 最も支給額の多い社員

    社員コード氏名フリガナ所属性別作成日更新日給与手当管理者
    0006森尾 正也モリオ マサヤ000202005/05/242005/09/2630000070000002

    典型的な副問い合わせです
    ( 副問い合わせは where の条件の一部として使用します )

    ★ 最も高い給与をグループ関数で見つけ出します ( 必ず1行を返すようにする )
    ★ その結果を利用して個人を特定します





    解答


    sql01 sql02 sql03 sql04 sql05 sql06 販売管理B.mdb のダウンロード











      infoboard   管理者用   
    このエントリーをはてなブックマークに追加





    フリーフォントWEBサービス
    SQLの窓WEBサービス

    SQLの窓フリーソフト

    素材

    一般WEBツールリンク

    SQLの窓

    フリーソフト

    JSライブラリ