← Documentation

SQLの読み方

私たちの結果を検証するのに、SQLを自分で書ける必要はありません ——いくつかの繰り返し出てくるパターンを見分けられれば十分です。 このページでは、実際に公開したレポートの本物のクエリを1本使って、 そのパターンを一通り解説します。読み終えれば、他の検証用スクリプト もブラックボックスとして扱わずに読めるようになるはずです。

何度も出てくるパターン

このシリーズのほぼ全てのクエリは、同じ少数の部品の組み合わせで できています:

実際の例を、一行ずつ読む

これはTechnical Report v1.16のTable 1の元になった検証クエリの Part 1です——復元結果の局所的な分散が、一致する必要はないのに たまたまground truthと厳密に一致しているブロックを見つける クエリです:

WITH candidates AS (
    SELECT sigma_gt
    FROM blocks
    WHERE sigma_gt > 1e-6 AND ssim_c_notta = 1.0
),
total AS (
    SELECT COUNT(*) AS n_total_blocks FROM blocks WHERE sigma_gt > 1e-6
)
SELECT 'n_found' AS metric, CAST(COUNT(*) AS VARCHAR) AS value FROM candidates
UNION ALL SELECT 'pct_of_blocks', CAST(ROUND(100.0*COUNT(*)/(SELECT n_total_blocks FROM total),4) AS VARCHAR) FROM candidates
UNION ALL SELECT 'max_sigma_gt', CAST(MAX(sigma_gt) AS VARCHAR) FROM candidates
UNION ALL SELECT 'min_sigma_gt', CAST(MIN(sigma_gt) AS VARCHAR) FROM candidates;

上から順に読むと:

パターンとしてはこれで全部です。私たちの検証用クエリの多くが 長く見えるのは、この同じ形——対象を絞り込むWITH句に 続けて、いくつかのUNION ALLで積み重ねた要約行——を、 条件やモデルの数だけ繰り返しているだけだからです。

後の報告書に出てくる、もう少し進んだパターン

DOI 1.4以降の報告書では、いくつか追加のパーツが登場します。 ここで一度だけ解説しておき、SQL リファレンスの各報告書の解説からは、毎回説明し直すのではなく このページを参照するだけで済むようにしています。