データ操作履歴
配点 : 30点難易度 : 3
制限実行時間 : 1000ms制限メモリ使用量 : 128 MB
SQLiteの注意点

TOPSIC SQLでは、SQLの実行環境にSQLiteを使用しています。SQLite以外のRDBMSの文法を使用することはできません。
問題を解く際に注意すべきSQLiteの制約について、以下に記載してありますのでご確認下さい。

  1. NUMERIC、INTEGER、REALは、自身のクラスへの変換が推奨されていますが、変換できなかった場合でも、そのまま格納されます。
  2. 新しくデータを追加した場合、既に格納されているデータの中で ROWID の値が最大のものを探し、それに1を加えた値が新しく追加されるデータの ROWID の値として保存されます。
  3. 外部結合は、左外部結合を行う LEFT OUTER JOIN 句のみ使用できます。
    ※2022年12月以降、LEFT / RIGHT / FULL OUTER JOIN が使用可能となりました。
  4. 指定した日付と時刻のタイムゾーンはUTCとして扱われます。
  5. 日付関数や文字列関数については、SQLiteで固有の関数があります。
  6. テーブル項目の論理名が「◯◯日」となっている場合は、日付項目の時分秒は設定されていません。論理名が「◯◯日時」となっている場合は、日付項目の時分秒まで設定されています。
    • 「受注日」の場合は「2021-01-01」
    • 「受注日時」の場合は「2021-01-01 15:15:15」

その他のSQLiteの制約については、SQLiteの公式ドキュメントをご確認ください。
また、ER図の読み方やSQLiteの関数および構文などについては、「受験ルール・用語」をご確認ください。

問題

2024年4月1日時点の商品テーブル(ITEM)と2023年12月31日に商品テーブルをコピーして作成した商品履歴テーブル(ITEM_HISTORY)がある。
この2つのテーブルを比較して、2023年12月31日から2024年4月1日の期間に、追加、更新、削除されたデータを表示しなさい。更新の判定は、同一商品コードで担当者更新日時(USER_UPDATE_DATETIME)が違う場合とする。また、商品データの削除については物理削除されているものとする。

比較した結果には、追加された場合は「ADDED」、更新された場合は「UPDATED」、削除された場合は「DELETED」と表示すること。

表示項目は以下とする。(エイリアスを使用し→の項目名とする)

  • ITEM_CODE → CODE
  • ITEM_NAME→ NAME
  • 比較した結果 → COMP_RSLT

表示順

  1. 表示項目CODEの降順

表示フォーマット

※あくまでフォーマットを示すもので、正解例ではありません。行数も正解とは異なります。

CODE NAME COMP_RSLT
P010 ロングタンクトップ ADDED
P009 リブタンクトップ UPDATED
P005 カラーピグメントカットソー ADDED
P003 オフショルダーブラウス UPDATED
P002 フリルハイネックブラウス DELETED

ER図 (半角:物理名、全角:論理名)


テーブル定義

テーブル名: ITEM

主キー 列名 データ型 必須 デフォルト値
✔︎ ITEM_CODE VARCHAR ✔︎ NULL
ITEM_NAME VARCHAR ✔︎ NULL
ITEM_TYPE INTEGER ✔︎ NULL
STOCK_MANAGEMENT_TYPE INTEGER ✔︎ NULL
TAX_TYPE VARCHAR ✔︎ NULL
TAX_NO INTEGER ✔︎ NULL
SHORT_DESCRIPTION VARCHAR NULL
SALE_START_DATE VARCHAR NULL
SALE_END_DATE VARCHAR NULL
DISCOUNT_PRICE_START_DATETIME VARCHAR NULL
DISCOUNT_PRICE_END_DATETIME VARCHAR NULL
DELIVERY_TYPE_NO INTEGER ✔︎ NULL
RECOMMEND_ITEM_RANK INTEGER ✔︎ NULL
ITEM_POPULAR_RANK INTEGER ✔︎ NULL
UPDATE_USER_NAME VARCHAR(50) NULL
USER_UPDATE_DATETIME VARCHAR CURRENT_TIMESTAMP

テーブル名: ITEM_HISTORY

主キー 列名 データ型 必須 デフォルト値
✔︎ ITEM_CODE VARCHAR ✔︎ NULL
ITEM_NAME VARCHAR ✔︎ NULL
ITEM_TYPE INTEGER ✔︎ NULL
STOCK_MANAGEMENT_TYPE INTEGER ✔︎ NULL
TAX_TYPE VARCHAR ✔︎ NULL
TAX_NO INTEGER ✔︎ NULL
SHORT_DESCRIPTION VARCHAR NULL
SALE_START_DATE VARCHAR NULL
SALE_END_DATE VARCHAR NULL
DISCOUNT_PRICE_START_DATETIME VARCHAR NULL
DISCOUNT_PRICE_END_DATETIME VARCHAR NULL
DELIVERY_TYPE_NO INTEGER ✔︎ NULL
RECOMMEND_ITEM_RANK INTEGER ✔︎ NULL
ITEM_POPULAR_RANK INTEGER ✔︎ NULL
UPDATE_USER_NAME VARCHAR(50) NULL
USER_UPDATE_DATETIME VARCHAR NULL

サンプルデータ

テーブル名: ITEM

ITEM_CODE ITEM_NAME ITEM_TYPE STOCK_MANAGEMENT_TYPE TAX_TYPE TAX_NO SHORT_DESCRIPTION SALE_START_DATE SALE_END_DATE DISCOUNT_PRICE_START_DATETIME DISCOUNT_PRICE_END_DATETIME DELIVERY_TYPE_NO RECOMMEND_ITEM_RANK ITEM_POPULAR_RANK UPDATE_USER_NAME USER_UPDATE_DATETIME
P001 フリルブラウスRock 1 1 1 2019 NULL 2024-01-21 NULL NULL NULL 20 0 3 SYSTEM 2024-01-01 10:10:10
P003 オフショルダーブラウス 1 0 1 2019 NULL 2024-01-21 NULL NULL NULL 20 0 9 SYSTEM 2024-03-01 10:10:10
P004 Vネックカットソー 1 1 1 2019 NULL 2024-01-21 NULL NULL NULL 10 0 0 SYSTEM 2024-01-01 10:10:10
P005 カラーピグメントカットソー 1 1 1 2019 NULL 2024-01-21 NULL NULL NULL 20 0 4 SYSTEM 2024-02-01 10:10:10
P006 ボーダーカットソー 1 1 1 2019 NULL 2024-01-21 NULL NULL NULL 10 0 6 SYSTEM 2024-01-01 10:10:10
P007 半袖鹿の子ポロシャツ 1 1 1 2019 NULL 2024-01-21 NULL NULL NULL 20 0 8 SYSTEM 2024-01-01 10:10:10
P008 ラインチビポロシャツ 1 0 1 2019 NULL 2024-01-21 NULL NULL NULL 10 0 7 SYSTEM 2024-01-01 10:10:10
P009 リブタンクトップ 1 0 1 2019 NULL 2024-01-21 NULL NULL NULL 20 0 2 SYSTEM 2024-01-01 10:10:11
P010 ロングタンクトップ 1 1 1 2019 NULL 2024-01-21 NULL NULL NULL 10 0 3 SYSTEM 2024-03-01 10:10:10

テーブル名: ITEM_HISTORY

ITEM_CODE ITEM_NAME ITEM_TYPE STOCK_MANAGEMENT_TYPE TAX_TYPE TAX_NO SHORT_DESCRIPTION SALE_START_DATE SALE_END_DATE DISCOUNT_PRICE_START_DATETIME DISCOUNT_PRICE_END_DATETIME DELIVERY_TYPE_NO RECOMMEND_ITEM_RANK ITEM_POPULAR_RANK UPDATE_USER_NAME USER_UPDATE_DATETIME
P001 フリルブラウスRock 1 1 1 2019 NULL 2024-01-21 NULL NULL NULL 20 0 3 SYSTEM 2024-01-01 10:10:10
P002 フリルハイネックブラウス 1 1 1 2019 NULL 2024-01-21 NULL NULL NULL 10 0 5 SYSTEM 2024-01-01 10:10:10
P003 オフショルダーブラウス 1 1 1 2019 NULL 2024-01-21 NULL NULL NULL 20 0 0 SYSTEM 2024-01-01 10:10:10
P004 Vネックカットソー 1 1 1 2019 NULL 2024-01-21 NULL NULL NULL 10 0 0 SYSTEM 2024-01-01 10:10:10
P006 ボーダーカットソー 1 1 1 2019 NULL 2024-01-21 NULL NULL NULL 10 0 6 SYSTEM 2024-01-01 10:10:10
P007 半袖鹿の子ポロシャツ 1 1 1 2019 NULL 2024-01-21 NULL NULL NULL 20 0 8 SYSTEM 2024-01-01 10:10:10
P008 ラインチビポロシャツ 1 0 1 2019 NULL 2024-01-21 NULL NULL NULL 10 0 7 SYSTEM 2024-01-01 10:10:10
P009 リブタンクトップ 1 0 1 2019 NULL 2024-01-21 NULL NULL NULL 20 0 2 SYSTEM 2024-01-01 10:10:10

Sorry, Japanese Only.