Skip to content

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 IN
    • BETWEEN
    • LIKE (ワイルドカード%_の役割と効果も含む)

知識課題5

  • LIMIT句がクエリ結果セットに対して行う操作について説明してください。
  • LIMIT句を使用する主な目的やユースケースを挙げてください。

実践課題

実践課題1

  • customerテーブルから、customer_id5の顧客情報を取得してください。
  • filmテーブルから、ratingPG-13であるtitleratingを取得してください。
  • addressテーブルから、districtCaliforniaである住所のaddressdistrictを取得してください。

実践課題2

  • addressテーブルから、address2が登録されていない(NULLである)住所のaddress/address2を取得してください。
  • addressテーブルから、address2が登録されている(NULLでない)住所のaddress/address2を取得してください。

実践課題3

  • customerテーブルから、store_id1であり、かつactivebooltrueである顧客のcustomer_id/first_name/store_id/activeboolを取得してください。
  • filmテーブルから、rental_duration6日以上であるか、またはrental_rate0.99である映画のtitle/rental_duration/rental_rateを取得してください。
  • customerテーブルから、(store_id2で、かつactivebooltrueである顧客)または(emailmary.smith@sakilacustomer.orgである顧客)のcustomer_id/store_id/activebool/emailを取得してください。

実践課題4

  • addressテーブルから、city_id300/350/400のいずれかである住所のaddress/city_idを取得してください。
  • paymentテーブルから、amount8.00から10.00の範囲にある支払い履歴のpayment_id,amountを取得してください。
  • filmテーブルから、titleChaという単語で始まる映画のfilm_id/titleを取得してください。
  • customerテーブルから、last_nameAで始まり、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を取得してください。

参考資料