step03 『where』句は何処にある
「魔法の言葉で内容を絞る? それって……どんな風に?」
僕はメルハートの青い瞳を見つめて質問をした。ぱちくりと長いまつげに縁取られた、丸い瞳が瞬く。
さっき教えてもらった魔法の言葉は「図鑑の内容全部」を呼び出す呪文だった。
――select * from 『ヘイム大陸周諸国大全①』
(セレクト アスタリスク フローム 『ヘイム大陸周諸国大全①』)
そう唱えて魔法力を注ぐだけで、たちどころに図鑑の内容が全部見えてしまう。
けれど丸ごと全部が見れてしまうので、パラパラと図鑑を適当にめくっているのと変わらない。つまり……このままじゃ調べ物には使えそうもない。
「内容を絞る言葉……それは『where』(フエア)という呪文を使うのよ」
「フエア?」
返事の代わり、とばかりにメルハートは指先で、さっきの魔法の言葉を空中に描いた。そして続けて、今言ったばかりの新しい呪文、『where』という文字と、他の言葉を書き足した。
――select * from 『ヘイム大陸周諸国大全①』 where 『索引』=『人間((ヒューマン))』
「セレクト、アスタリスク、フロム、『ヘイム大陸周諸国大全①』、フエア、『索引』イコール『人間』!」
今度の呪文は少し長くなった。
すると、また空中に光を放つ『魔法の小窓』が表示された。けれど、さっきとは比べ物にならないくらい少ない。本のページの中から限られた部分だけが映し出されたようだ。
――王、王妃、姫、王国の歴史上の大臣、騎士。
「あ、少なくなった!?」
「共通点はわかるかしら?」
僕を試すような視線。ばかにするな、そんなの簡単だ。
「『人間』に関係するページだけだよね?」
王様もお姫様も、騎士さんだって人間という共通点が有るんだもん。
「あら、正解よ。じゃぁ私の唱えた呪文の意味も理解できたのかしら?」
意地悪な顔で質問を重ねるメルハート。
「最後のwhereの次、『索引』=『人間』っていう部分で絞った、ってことでしょ?」
where句を付けないで唱えた時は沢山の……図鑑の索引「全て」が出てきた。
――王、王妃、姫、王国の歴史上の大臣、騎士、馬、剣、槍、盾、鎧、生活、金貨、麦、塩、バター、油、薪……。
けれど『where』という呪文のあとに、『索引』イコール『人間』と加えるだけで、人間に関係する言葉だけが選び出されたんだ。
うん、間違いない。
「ウィズ、なかなかやるわね! まぁ、私の教え方が上手いだけだけどね!」
「はいはい……」
「なによもう。じゃぁ次、ウィズもやってみなさいよ」
かたちの良い顎を左の手の甲に乗せて、右手をひらりとしてから僕を指差す。
「う、うん」
今度は僕の番。二人の間に置いた図鑑に手を添えて、呪文を唱えてみる。けれどメルハートと同じだと、なんだか面白くない。
そうだ、少し変えてみよう。えぇと……
――select * from 『ヘイム大陸周諸国大全①』 where 『索引』=『武器』
「セレクト、アスタリスク、フロム、『ヘイム大陸周諸国大全①』、フエア、『索引』イコール『武器』!」
さっきは人間だったけれど、今度は武器だ。きっと僕の想像通りの答えが出るはずだ。
――剣、槍
「ほら! できた!」
「おー?」
メルハートが目を丸くする。こんなの簡単だ。とにかく『where』という呪文の後ろに、『属性』イコール何かを唱えれば内容の範囲を、ぎゅっと絞れるんだ。
「でも……どうして絞れたか、わかる?」
「え? だから『where』という呪文で……」
「ふふん……! 『where』は、どれ? 何処? というような意味よ。けれど……本質はそれじゃないの」
してやったり、という顔で椅子の背もたれに背中を預けて、腕組みをする。なんで一々そんなに勝ち誇った顔をするのかな?
「……『属性』?」
「そう、物には『名前』の他に『属性』があるの。例えば今のウィズは私の『生徒』で、私が偉い『先生』! っていうのも『属性』ね」
なんだかカチンとくる言い方だなぁ。
「何だよそれ。僕とメルは『友達』っていう同じ属性なんじゃないの?」
「なっ……!」
メルハートは急に息を止めたように動かなくなり、黙りこんだ。
「どしたの?」
「べ、別に」
……なんだよ、変な奴。
気が付くと、放課後の図書館はいつの間にかオレンジ色の光に満たされていた。
レースのカーテン越しに、運動部の部活の掛け声や、笑い声が遠く聞こえてくる。もうすぐ下校時間だ。
だけど初日からたくさん勉強した気がする。
魔法の言語の勉強って、ちょっと不思議でとても面白い。
「ありがと、メル」
そんな言葉が、驚くほど自然に口をついて出てきた。
「ど……どういたしまして!? きょ、今日はこれくらいで許してあげる! 明日は……属性! 属性をハッキリさせるから覚悟しておきなさいよね!?」
ガターンとメルハートが勢いよく立ち上がる。すこしオレンジ色のメルの顔は、なんだか果物みたいに赤く染まっていた。
<つづく>
【ワンポイント】
今回の呪文『where』句。
それは『何処にあるの?』あるいは『こんな風に持ってきてよ』という雰囲気で使います。
条件はその後に記述します。
select * from 本の名前(テーブル名) where 索引=『条件』
索引=『条件』で「本の中身から『条件』で指示した索引だけを持ってくる」のです。
条件部分は、例えば『ラノベ』か『料理本』か……そんな感じの指定です。
もちろん、名前がわかっていれば、直接指定もできます。組み合わせたり、つなげたり……おっと、焦ってはいけません。
とにかく『where』は奥深くて、複雑な世界。
ゆっくり、呪文を学んでいきましょう。