フェーチさんのブログ

個人的な記録です。読む価値ないよ。

PHPのお勉強をしよう_その28

半年前にUdemyで買ってからずっと途中放棄していたPHPの学習講座を「とりあえずぜんぶ見て消化しよう」、というコンセプトでやっております。

できるだけ、1日1動画は消化していきたいと考えております(早く終わらせたい)

個人的にはもうPHPのスキルを身につける必要性も動機もまったくありませんが、もったいない精神をフルに発揮して、なんとか最後まで講座を視聴してきたいと考えております。

 

f:id:feci:20210423190559j:plain

欲しい柄のネクタイがいつまで経っても入荷しない…。

 

第28回目である今回は、WHEREを使って既存のテーブル内のデータを適当に検索してみよう、という試みです。あいあいさ~。

 

SQLに「SELECT * FROM my_items WHERE 〇〇;」と入力すると、〇〇内に指定した条件に合わせて、既存のテーブル内のデータを選択的に検索することができます。

 

f:id:feci:20210610151240p:plain

priceの値が180以下のデータを指定しています。

 

↑ のようにprice<180と指定すると、既存のデータ内からpriceカラム内の値が180以下の値のものをすべてソートしてくれます。

ちなみに、TEXT型のカラムの値を指定する場合は「keyword='丸い';」みたいな感じで値の前後にシングルクオーテーションをつける必要があります。

不等号の記号は、< 以外にも > や = や <= や >= なども使えます。

 

あと、そのようなTEXT型のカラム内から特定の値を選択する場合は、↓ のように「LIKE」を使うこともできます。

 

f:id:feci:20210610151912p:plain

「甘い」という値をあいまい検索しています。

 

↑ のように1つのカラムに2つ以上の値を入れている場合、検索する値を単純に「’甘い’」としてしまうと、どれもヒットしなくなります。

なのでこのような場合は、あいまい検索といって、「’%甘い%’」としてやることで複数の値の中に1つでも「甘い」という値があればヒットするようになります。

おお、これは便利。

 

ちなみに、もしこれを「’甘い%’」にすると、先頭の値が「’甘い’」というデータだけソートされます。これを前方一致検索といいます。

逆にこれを「’%甘い’」にすると、おしりの値が「’甘い’」というデータだけがソートされます。これを後方一致検索といいます。

 

あと、WHEREはANDまたはORを使うことで複数の条件を接続可能です。

ANDはすべての条件が一致した場合のみtrueで、ORはどちらか一方の条件が一致していた場合にtrueを出す、という感じです。

 

だったらば、ORで2つの条件を指定して、その2つの条件をどちらも満たしている場合はどうなるのでしょうかね?

この場合はたぶん、条件を満たしている2つともをソートする感じになるのかもしれませんね。よく分かりませんが。

 

 

◆ 今回の講座から学んだこと

WHEREとANDとORを使うとなんかいろいろと都合よくデータの検索ができる。

 

以上です。おわり。