RADIOLOGY GLOSSARY

SQL(Structured Query Language)

IN ONE LINE

一言でいうと

関係データベース等で、データの照会、追加・変更・削除や構造定義等に用いる言語です。

BEGINNER GUIDE

はじめて学ぶ方へ

表のデータから条件に合うものを取り出したり、集計・更新したりするための言語です。

身近なイメージ

教材表imagesに患者2人分のCT画像5行があるとし、SELECT COUNT(*) FROM images WHERE modality='CT';を照会します。 返る値は条件に合う5行です。患者2人や検査回数をそのまま表す値ではありません。

そもそもSQLとは?

表のデータから条件に合うものを取り出したり、集計・更新したりするための言語です。

照会と更新・構造定義。/条件・結合・集計。/行と患者・検査の粒度。

定義・しくみ

関係データベース等で、データの照会、追加・変更・削除や構造定義等に用いる言語です。取得したい条件を記述して集合として処理し、製品による機能・構文の差やアクセス権限にも注意します。

FORMULA

COUNT(*)と対象列・重複除外の集計を区別します。

WHEREによる行の選択とHAVINGによる集計後の選択を区別します。

具体例で確認

教材表imagesに患者2人分のCT画像5行があるとし、SELECT COUNT(*) FROM images WHERE modality='CT';を照会します。

返る値は条件に合う5行です。患者2人や検査回数をそのまま表す値ではありません。

専門的にもう一歩

SELECT、WHERE、JOIN、GROUP BY等で検索・結合・集計します。画像の行、検査の行、患者の行は粒度が異なり、COUNT(*)は対象行数であって患者数を自動的に数えるものではありません。NULLや結合による行の増加にも注意します。実データの更新は権限・トランザクション等を管理し、文字列連結による危険な入力処理を避けます。

臨床・測定での確認点

  • 表のキーと一行の意味を確認します。
  • NULLと結合・重複の扱いを確認します。
  • 権限とパラメータ化等の安全な照会を使います。

覚えるポイント

  • 照会と更新・構造定義。
  • 条件・結合・集計。
  • 行と患者・検査の粒度。

間違えやすい点

  • COUNT(*)が必ず患者数とは限りません。
  • SQLとデータベース製品名は同じではありません。
  • 例の照会を未確認の実データへそのまま実行しません。