範囲外の車両モデル年式を特定する
型制約は、テーブルの列に保存できるデータの型を制限するのに有用です。ただし、これらの制約だけでは無効なデータの流入を完全に防げない場合があります。範囲制約は、列の値がある値の範囲に含まれるか、あるいは範囲外かを判定したいときに役立ちます。テーブル定義時に型制約を設定し、その後に範囲制約で列の値を確認するという組み合わせは、データの完全性を確保する強力な方法です。
この演習では、BETWEEN 句を使って範囲制約を構築し、parking_violation テーブル内の無効な車両モデル年式を特定します。このデータセットにおける有効なモデル年式は、1970 年から 2021 年の範囲です。
この演習はコースの一部です
PostgreSQLデータベースで学ぶデータクレンジング
演習の手順
parking_violationテーブルから、vehicle_yearが 1970–2021 の範囲外であるレコードについて、summons_number、plate_id、vehicle_yearを返すクエリを書いてください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
SELECT
-- Define the columns to return from the query
___,
___,
___
FROM
parking_violation
WHERE
-- Define the range constraint for invalid vehicle years
___ NOT ___ ___ AND ___;