名前の中のelの動物を探します

2056 ワード

プログラマー練習>String、Date>名前の中にelがいる動物を探す


質問する


庇護所で亡くなったおばあちゃんが飼っている犬を探しに来た人がいます.この人はおばあちゃんが飼っている犬の名前に「el」があると言った.動物保護所の動物名に入り、クエリ名に「EL」の犬のIDと名前を含むSQL文を記入してください.この場合は名前順に結果を調べてください.ただし、名前は大文字と小文字を区別しません.

解法


第一に、


質問にelを含む名前の犬を検索するには、次のSQL文を作成します.
select animal_id, name
from animal_ins
where animal_type = 'Dog' and name like '%el%'
order by name;

2つ目は


ただし、Elijahという名前の犬は検索できません.したがって、「%EL%」でクエリーしますが、以下のようになります.
select animal_id, name
from animal_ins
where animal_type = 'Dog' and name like '%El%'
order by name

3つ目は


したがって、「%el%」と「%el%」がクエリーされます.猫が調べられることも含まれています.
select animal_id, animal_type, name
from animal_ins
where animal_type = 'Dog' and name like '%el%' or name like '%El%'
order by name;

なぜ猫が含まれているのかを考慮して、複数の条件でor演算子を使用して上記のクエリを行います.
説明すると、body typeは「Dog」、「and」、およびnameに「el」を含む結果をクエリし、条件文はここで一度実行し、orで「EL」を含む動物をクエリして猫Ellaをクエリする.

正解

select animal_id, name
from animal_ins
where animal_type = 'Dog' and name like '%el%' or animal_type = 'Dog' and name like '%El%'
order by name;

n/a.結論


  • データ型が「VARCHAR」のリストは、論理演算子=とLIKEの両方で使用できます.

  • 複数の条件はOR演算子で組み合わせることができます.縛るときは、前の条件(動物タイプ="Dog")を改めて明記してください.

  • AND,OR演算子はAND演算子の優先度が高いが,混同を防ぐために括弧を明確に用いることが望ましい.
  • SELECT 1 OR 0 AND 0;
    결과 : 1
    SELECT 1 OR (0 AND 0);
    결과 : 1
    
    
    SELECT (1 OR 0) AND 0;
    결과 : 0