ソースコード
WITH 出国者数 (PORT_CODE, AMT) AS (
    SELECT
      IMMIGRATION.PORT_CODE,
      IMMIGRATION.AMT
    FROM
      IMMIGRATION
      INNER JOIN GRP ON IMMIGRATION.GROUP_CODE = GRP.GROUP_CODE
    WHERE
      GRP.GROUP_NAME = '外国人' AND
      IMMIGRATION.KIND_CODE = 120
),
入国者数 (PORT_CODE, AMT) AS (
    SELECT
      IMMIGRATION.PORT_CODE,
      IMMIGRATION.AMT
    FROM
      IMMIGRATION
      INNER JOIN GRP ON IMMIGRATION.GROUP_CODE = GRP.GROUP_CODE
    WHERE
      GRP.GROUP_NAME = '外国人' AND
      IMMIGRATION.KIND_CODE = 110
),
集計 AS (
    SELECT
      PORT.PORT_CODE AS 港コード,
      PORT.PORT_NAME AS 港名,
      COALESCE(入国者数.AMT, 0) AS 入国者数,
      COALESCE(出国者数.AMT, 0) AS 出国者数,
      COALESCE(入国者数.AMT, 0) - COALESCE(出国者数.AMT, 0) AS 差分
    FROM
      PORT
      LEFT OUTER JOIN 出国者数 ON PORT.PORT_CODE = 出国者数.PORT_CODE
      LEFT OUTER JOIN 入国者数 ON PORT.PORT_CODE = 入国者数.PORT_CODE
)
SELECT
  港コード,
  港名,
  入国者数,
  出国者数,
  差分
FROM
  集計
WHERE
  差分 > 0
ORDER BY
  差分 DESC,
  港コード DESC
提出情報
提出日時2022/07/20 21:06:06
コンテスト第1回 SQLコンテスト
問題港入出国者分析
受験者odz
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量101 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
98 MB
データパターン2
AC
101 MB