1. paizaラーニングトップ
  2. レベルアップ問題集
  3. 新・SQL入門編03ドリル(言語選択)
  4. 問題一覧 MySQL編
  5. 複合的な条件を指定して取得しよう (Part 4)

新・SQL入門編03ドリルのサムネイル
複合的な条件を指定して取得しよう (Part 4) (paizaランク C 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

会員のリストが customer テーブルに保存されています。
customer テーブルの形式は次の通りです。

#カラム名データ型内容
1customer_id整数 (int)会員の通し番号
2name文字列 (varchar)会員名(漢字)
3name_yomi文字列 (varchar)会員名(フリガナ)
4join_date日付 (date)入会日
5residence文字列 (varchar)居住地


次の【 値の条件 】を満たす会員のリストを、入会日の昇順に並べ替えてすべて取得してください。

【 値の条件 】
条件: (A を満たし、かつ B または C を満たす)または D かつ E を満たす
・A: 入会日が 2021-08-24 以前である
・B: 居住地が 群馬県栃木県茨城県埼玉県 のいずれかである
・C: 居住地が NULL である
・D: 入会日が 2021-08-24 より後である
・E: 居住地が 東京都千葉県神奈川県 のいずれかである

ヒント


WHERE カラム名 = 値: カラム名 カラムの値が であるレコードを絞り込むことができる
WHERE カラム名 > 値: カラム名 カラムの値が より大きいレコードを絞り込むことができる
WHERE カラム名 <= 値: カラム名 カラムの値が 以下のレコードを絞り込むことができる
WHERE カラム名 IS NULL: カラム名 カラムの値が NULL のレコードを絞り込むことができる
WHERE 条件1 AND 条件2: 条件1 かつ 条件2 の条件を満たすレコードを絞り込むことができる
WHERE 条件1 OR 条件2: 条件1 または 条件2 の条件を満たすレコードを絞り込むことができる
WHERE (条件1 OR 条件2) AND 条件3: 条件1 または 条件2 を満たし、かつ 条件3 を満たすレコードを絞り込むことができる(演算の順番を変えることができる)

入力例1
customer テーブル
customer_idnamename_yomijoin_dateresidence
1日比野弦希ヒビノゲンキ2021-01-03NULL
2谷口正之タニグチマサユキ2021-01-04鳥取県
3石塚伽羅イシヅカキャラ2021-01-13高知県
...............
出力例1
customer_id name name_yomi join_date residence
1 日比野弦希 ヒビノゲンキ 2021-01-03 NULL
8 久保莉子 クボリコ 2021-01-30 NULL
10 村山芹佳 ムラヤマセリカ 2021-02-01 NULL
...

問題一覧へ戻る

ページの先頭へ戻る