SQL 5日目16、アイデア2


レッスン日2021-07-23
16강의명 : 실습 문제-2
강의명 : 생각대로 SQL-2
質問:お客様に団体メールを送りたいです.CUSTOMERテーブルからお客様のEMAIアドレスを抽出し、Eメール形式に合わないEメールアドレスを除外します.△電子メールフォーマットには「@」が存在しなければならず、「@」の先頭にはならず、「@」の末尾にはならない.
に答える
電子メールはLIKE演算子フォーマットを使用する必要があります.
真ん中に「@」が必要です.「%@%」これで自在に対処する.しかし、前後に何もないわけにはいかない.
この問題を簡単に解決できれば.
WHERE email LIKE '%@%' 
  AND NOT LIKE '@%'
  AND NOT LIKE '%@'
このようにして,すべての@が前に@と後に@を加える場合を取り除くことができる.
結果画面


思うままにする。


文1)ムービーテーブルを用いて,ムービーテーブル上の100 rowのみを確認する.
select *
  from film
 limit 100;


質問2)俳優姓(last name)がJoで始まる人のid値が最も低い人には、一人のid値、名前、姓を教えてください.
select actor_id, first_name, last_name 
  from actor
 where last_name like 'Jo%'
 order by actor_id
 limit 1;


問題3)ムービーテーブルを利用して,ムービーテーブル上のID値が1~10の間の全色であることを確認する.
select *
  from film
 where film_id between 1 and 10;


質問4)国名Aで始まる国を国名表で確認してください.
select *
  from country
 where country like 'A%';


質問5)国名sで終わる国を国名表を使って確認してください.
select *
  from country
 where country like '%s';


問題6)addressテーブルを使用して、郵便番号(post code)値が77で始まるアドレスについて、address id、address、district、post code列を確認します.
select address_id, address, district, postal_code 
  from address
 where postal_code like '77%';

  • 質問7)addressテーブルを使用して、郵便番号(post code)の値が2番目の文字が1の郵便番号のaddress id、address、district、post code列を確認してください.
    select address_id, address, district, postal_code 
      from address
     where postal_code like '_1%';

  • 質問8)支払票を使用して、顧客番号341の人が2007年2月15~16日の間に支払ったすべての明細を確認してください.
    select *
      from payment
     where customer_id = 341
       and date(payment_date) between '2007-02-15' and '2007-02-16';


    質問9)支払表を使用して、顧客番号355の人の支払金額が1-3元の間のすべての支払明細を確認してください.
    select *   
      from payment
     where customer_id = 355
       and amount  between 1 and 3;


    第十題)Customer表を使用して、お客様の名前がMaria、Lisa、Mikeの人のID、名前、姓であることを確認してください.
    select customer_id, first_name, last_name 
      from customer
     where first_name in ('Maria', 'Lisa', 'Mike');


    質問11)映画テーブルを使用して、映画長が100~120またはレンタル期間が3~5日の映画のすべての情報を確認してください.
    select *
      from film
     where length between 100 and 120
        or rental_duration between 3 and 5;


    質問12)addressテーブルを使用して、郵便番号が空白("")または35200、17886のaddressですべての情報を確認してください.
    select *
      from address
     where postal_code in ('','35200','17886');


    問題13)addressテーブルを使用して、addressの詳細アドレス(=address 2)値が存在しないすべてのデータを確認します.
    select *
      from address
     where address2 is null;


    質問14)スタッフテーブルを使用して、スタッフ画像に値がある従業員のID、氏名、姓を確認してください.名前と姓を1つの欄名として、姓の形で新しい欄名欄名を導出してください.
    select staff_id, first_name || ' ' || last_name as name 
      from staff
     where picture is not null;


    質問15)レンタルデスクをご利用の場合は、レンタルが完了しても返却記録がないレンタルアドバイスのすべての情報をご確認ください.
    select *
      from rental
     where return_date is null;


    質問16)addressテーブルを使用して、郵便番号値が空(NULL)または35200、17886のaddressですべての情報を確認してください.
    select *
      from address
     where postal_code is null
       or postal_code in('35200','17886');


    質問17)お客様の名前と名前を見つけてください.
    select first_name, last_name 
      from customer
     where last_name like '%John%'


    質問18)「アドレス」表で、アドレス2の値が空の行全体をチェックしますか?
    select *
      from address
     where address2 is null;