コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
【問題1】部署別受注一覧
SELECT
DP.DEPT_CODE
, DP.DEPT_NAME
, OD.ORDER_NO
, CS.CUST_CODE
, CS.CUST_NAME
, OD.ORDER_AMT
FROM
TBL_ORDERS AS OD
-- 内部結合で、部署テーブルにDEPT_CODEが存在する場合のみ対象とする
INNER JOIN TBL_DEPT AS DP
ON DP.DEPT_CODE = OD.DEPT_CODE
-- 外部結合で、顧客テーブルにCUST_CODEが存在しない場合も対象とする
LEFT OUTER JOIN TBL_CUST AS CS
ON CS.CUST_CODE = OD.CUST_CODE
ORDER BY
OD.DEPT_CODE ASC
, OD.ORDER_NO;
【問題2】組合せ一覧
SELECT
T1.ID AS ID_S
, SIZE AS SZ
, T2.ID AS ID_C
, COLOR AS CL
FROM
TBL_SIZE AS T1
-- 交差結合で全ての組合せを取得する
CROSS JOIN TBL_COLOR AS T2
WHERE
ID_S IN (1, 3)
ORDER BY
ID_S DESC
, ID_C DESC;
【問題3】従業員と部署の一覧
SELECT
T1.EMP_CODE
, T1.EMP_NAME
, T2.DEPT_CODE
, T2.DEPT_NAME
FROM
TBL_EMPLOYEES AS T1
-- 完全外部結合で2テーブルの全てのデータを対象とする
FULL OUTER JOIN TBL_DEPT AS T2
ON T1.DEPT_CODE = T2.DEPT_CODE
ORDER BY
T1.EMP_CODE ASC
, T2.DEPT_CODE ASC;
【問題4】登録部署一覧
-- 受注テーブルの部署コードを取得
SELECT
OD.DEPT_CODE AS DEPT_CODE
, DP.DEPT_NAME
FROM
TBL_ORDERS AS OD
LEFT OUTER JOIN TBL_DEPT AS DP
ON DP.DEPT_CODE = OD.DEPT_CODE
-- UNIONで2テーブルで取得したデータの重複を省いて連結する
UNION
-- 売上テーブルの部署コードを取得
SELECT
SA.DEPT_CODE AS DEPT_CODE
, DP.DEPT_NAME
FROM
TBL_SALES AS SA
LEFT OUTER JOIN TBL_DEPT AS DP
ON DP.DEPT_CODE = SA.DEPT_CODE
ORDER BY
DEPT_CODE ASC;