こんにちは! ときです。>∩(・ω・)∩<
先日やっとテスト演習が終わりました。
ちょっとだけ、時間に余裕ができたので、もう一回SQLの振り返りをしようかと思います。
WHEREの使い方
テーブルの中で10以上、20以下の情報を持っているデータだけ欲しいなー、というようなときに使います。WHEREを使うとデータを抽出するときに条件を付けられるんです。14番目の記事でSELECTというコマンドをご紹介しましたが、基本的にはSELECTと一緒に使うコマンドです。(それ以外のところで使う方法は今のところ知りません。)
【実際に使ってみましょう!】
まず、下のようなitemsという名前のテーブルがあったとします。
このテーブルから、数字が11以上のものだけ出したいなーと思ったら……
下のように書きます。
WHERE文のところで、numberが11以上のものを出してね!と指定しているのです。
このコマンドを実行すると、下のような結果が出てきます。
きちんと11未満のデータを持つものが、はじかれているのが確認できますね!
上で見たようにWHEREは条件を指定して、データを引っ張ってこれます。
ただそれだけではなく、WHERE文では以下のコマンドたちも使えます!
これを使いこなすことで、より条件を絞って情報を取り出すことができるんです!
・条件1 AND 条件2 <条件1 かつ条件2に該当したものだけ>
・条件1 OR 条件2 <条件1もしくは条件2に該当するもの>
・BETWEEN 値1 AND 値2 <値1と2の間にあるもの>
・IN (値1,値2,値3…) <値1,2,3のどれかに該当する>
・IS NULL(カラム名) <データがNullのもの>
※ちなみにIN とIS NULLは 頭にNOTをつけることで逆の意味で使うこともできます。
一言で言えばすごく楽しかったです。データを自由自在に持ってこれるようになったので、自分の思うようにいろいろできている感じがとても楽しいです。「SQLはいいぞ~」という気分になれます。
それから、前にもお話ししましたが、エクセルの関数とちょっと似ている感じがします。なので、「SQLか……俺にもできるさ!」という気持ちでガンガン書いていくことが、ここを理解するのに早いと思います。「ここかな?ん?間違ったかな?」と思っても、SELECTで持ってくる分には何も心配することはありません。(「やめるんだ!この老人の足は治療に時間がかかる」なんて言われることもないです。)
ただし、DELETEというコマンドと一緒に使うときは要注意です。
WHEREでうっかり間違ったところを「ここだ!」と指定して、消したくないデータを削除するなんでことになったら大変です……!
業務中にそんなことをしたら、きっと偉い人にこっぴどく叱られて「うわらば!」と断末魔を上げることになるでしょう……
なのでDELETE文と一緒に使うときは、先にSELECT文で必要な情報を取れているか確認してから削除するといいらしいです。気を付けましょう。ちなみに僕は研修中に一回「うわらば!」と断末魔を上げました(笑)
研修日程が残り少なく、これが最後の更新になるかもしれません。
本当はSQLの内容も、もっともっとあるんですが…
研修を受けて、Java・SQLのことを何も知らなかった僕ですが、今ではだいぶ理解できるようになった気がします。まだまだ勉強しないといけないことが色々見えてきて、先は険しそうですが(笑) でも、そんな勉強すべき事柄が見えてきたのも研修のおかげ。なので、「未経験でちょっと心配だなぁ…」と思う方も是非応募してみてください。
なによりもまず最初に「Javaか…俺にもできるさ!」という気持ちで始めてみてください。きっとできると思います!
ということで今回はこれで終わります。
うわらば!……じゃなかった、それでは!