WHERE句の理解と活用
知識課題
知識課題1
- SQLクエリにおける
WHERE句の目的と役割について説明してください。 - SQLクエリ実行時における
WHERE句の評価タイミング(処理順序)について解説してください。
知識課題2
NULLが示す状態について説明してください。NULLと数値の0や空文字列''との違いを明確に説明してください。NULLを含む比較演算(例:col = NULL,col <> NULL)が期待通りに機能しない理由を説明してください。IS NULL/IS NOT NULL演算子を使用する必要性について、NULLの性質を踏まえて解説してください。
知識課題3
WHERE句で条件を組み合わせるために使用されるAND演算子とOR演算子の基本的な機能と使い方について説明してください。- SQLの3値論理(
TRUE/FALSE/NULL)におけるANDおよびOR演算の結果がどのように決まるか、NULLを含む組み合わせを含めて説明してください。 - 論理演算の結果が
NULLになる場合があるのはなぜか、3値論理の観点から理由を説明してください。
知識課題4
- 以下のSQL比較演算子について、それぞれの意味、
WHERE句での具体的な使用例、およびどのような状況で役立つか説明してください。IN/NOT INBETWEENLIKE(ワイルドカード%と_の役割と効果も含む)
知識課題5
LIMIT句がクエリ結果セットに対して行う操作について説明してください。LIMIT句を使用する主な目的やユースケースを挙げてください。
実践課題
実践課題1
customerテーブルから、customer_idが5の顧客情報を取得してください。filmテーブルから、ratingがPG-13であるtitleとratingを取得してください。addressテーブルから、districtがCaliforniaである住所のaddressとdistrictを取得してください。
実践課題2
addressテーブルから、address2が登録されていない(NULLである)住所のaddress/address2を取得してください。addressテーブルから、address2が登録されている(NULLでない)住所のaddress/address2を取得してください。
実践課題3
customerテーブルから、store_idが1であり、かつactiveboolがtrueである顧客のcustomer_id/first_name/store_id/activeboolを取得してください。filmテーブルから、rental_durationが6日以上であるか、またはrental_rateが0.99である映画のtitle/rental_duration/rental_rateを取得してください。customerテーブルから、(store_idが2で、かつactiveboolがtrueである顧客)または(emailがmary.smith@sakilacustomer.orgである顧客)のcustomer_id/store_id/activebool/emailを取得してください。
実践課題4
addressテーブルから、city_idが300/350/400のいずれかである住所のaddress/city_idを取得してください。paymentテーブルから、amountが8.00から10.00の範囲にある支払い履歴のpayment_id,amountを取得してください。filmテーブルから、titleがChaという単語で始まる映画のfilm_id/titleを取得してください。customerテーブルから、last_nameがAで始まり、nで終わる顧客のcustomer_id/first_name/last_nameを取得してください。customerテーブルから、first_nameが5文字で、2文字目がaである顧客のcustomer_id/first_nameを取得してください。
実践課題5
paymentテーブルから、amountが多い順に上位5件の支払い履歴のpayment_id/customer_id/amountを取得してください。customerテーブルから、create_dateが新しい順に10名の顧客のcustomer_id/first_name/create_dateを取得してください。