step08 新たなる魔法の呪文
【お知らせ】
第一話の先頭に表紙絵がつきましたよ♪
◇
魔法の呪文を使って、生徒名簿を並び替える――。
それは意外と簡単だった。必要なのは最後につける魔法の呪文『order by』。
たったそれだけで、自在に並び替えることが出来る。
生徒名簿を構成する属性は、『出席番号』『名前』『性別』『生年月日』『所属クラス』の5つだけ。
名簿の1ページ目にだけ記載されている10名に限定して、練習をする。
その中の『所属クラス』を『B』クラスだけに絞り、
更に『性別』を『女性』で絞る。
最後に『出席番号』で並び変える、という魔法の呪文は、こう。
――select * from 『生徒名簿』
where 『性別』=『女性』
and 『クラス』=『B』
order by 『出席番号』
魔法の術式をノートに書き記してメモをとり、それから一息に詠唱する。すると、結果がすぐに魔法の小窓に表示された。
(・・)
01 ウィミルア 女性 1302/09/13 B
03 エリアール 女性 1302/04/09 B
06 イリーナ 女性 1302/07/11 B
07 オーロラリア 女性 1302/12/24 B
08 アリアート 女性 1302/05/03 B
見事に10名のうち、女の子だけで『出席番号』の小さい番号から、大きな番号の順に並べ変えることが出来た。
これはつまり、昇順ということだ。そこでまたひとつ疑問が浮かぶ。
「ねぇメル。名簿の並び替えを、逆順にできたりするの?」
「できるわよ」
「即答だね?」
「そりゃそうよ簡単だもの。最後に『desc』(デーイエスシー)を付けるだけ」
「デーイエスシー? それだけ?」
メルハートが事も無げに頷くので、さっきと同じ魔法術式を詠唱し、最後に「おまけ」みたいに『desc』(デーイエスシ)と唱えてみる。
――select * from 『生徒名簿』
where 『性別』=『女性』
and 『クラス』=『B』
order by 『出席番号』 desc
すると……。
(・・)
08 アリアート 女性 1302/05/03 B
07 オーロラリア 女性 1302/12/24 B
06 イリーナ 女性 1302/07/11 B
03 エリアール 女性 1302/04/09 B
01 ウィミルア 女性 1302/09/13 B
「あ! 今度は『出席番号』の大きな数字から小さな数字に並んだね」
「でしょう? 最後に『desc』があれば降順。何も指定しなければ昇順ってこと」
「うん。わかったよ、メル」
ふふん、と得意気なメルハート。ツインテールの髪をふわりと払う。
「それと一つ言い忘れていたけれど、select文の『*』(アスタリスク)の意味は『全て』っていうのは教えたわよね?」
「うん」
「それだと全部の属性が出ちゃうから、ものすごく属性が多い時に大変よね? それで、必要な部分の名前を『,』カンマで区切って直接書いてもいいのよ」
「必要な部分だけ?」
「そ、例えばこう」
――select 『出席番号』,『名前』 from 『生徒名簿』
where 『性別』=『女性』
and 『クラス』=『B』
order by 『出席番号』
01 ウィミルア
03 エリアール
06 イリーナ
07 オーロラリア
08 アリアート
「なるほど、 『出席番号』と『名前』だけになった」
「言っとくけど、存在しない属性を書くと、エラーで表示されないからね!」
「わ、わかったよ」
彼女にとっては初歩的な魔法なのだろう。けれど僕にとっては新鮮な驚きの連続だ。本当に……自分は事故に遭う前に一度、習っていたのだろうか?
一年掛けて覚えてきたはずの「魔法の知識」が記憶から完全に消えるなんて……。今でも少し信じられない。
「さぁ、次はどうしましょ。『select』文を極めてもいいけれど、少し飽きてきたわ」
「師匠の言うことかな」
「『select』文は、魔法の基本で、とても大切よ。けれど、読み込むための魔法術式で、何か変化をもたらす力はないの」
「変化をもたらす……力?」
どういう意味なのだろう? 僕はメルハートの言葉に首を傾げる。
「本や名簿から自在に必要な情報を抜き出す。これは、元の本や名簿には何の変化も及ぼさないわ」
あごを手のひらで支えて、小首をかしげて僕の様子を眺める。
「そりゃそうだよね。読むだけだもの」
「例えば、クラス替えがあったり、転校生が来たり。名簿に手を加えたくなったらどう? もしかして、転校しちゃう子もいたりするかもよ」
それは確かにそのとおりだ。クラス替えがあれば名簿を書き換えなきゃならないし、転校生が来たら追加しなきゃないだろう。それに、転校して行ったら名簿から消さなきゃならない。
「名簿を……書き換えることもあるんだものね?」
「ペンと修正液で直すのは、魔法じゃないわ」
「魔法で、そんなこと出来るの?」
まってました、とばかりに瞳を輝かせて、口元を大きく持ち上げる。
「対象を変化させるには『update』(アップデート)、追加するには『insert』(インサート)、そして削除するには『delete』(デリート)……という操作系魔法術式を使うのよ!」
「操作系……魔法術式!?」
――『update』(アップデート)
――『insert』(インサート)
――『delete』(デリート)
新しい魔法の言葉が3つ出てきたことで、僕は思わず身を乗り出した。
<つづく>
【ワンポイント】
今回は、おさらいと、追加機能の紹介でした。
並び替えのできる便利な『order by』句ですが、
魔法の言葉『desc』を付け加えるだけで、魔法のように逆順に並びます。
並び替えが『order by 番号』だと、こう。
↓
番号 名前
1 メル
2 ウィズ
3 マリア
並び替えが『order by 番号 desc』だと、こう。
↓
番号 名前
3 マリア
2 ウィズ
1 メル
かんたんですね。
そして、新たなる敵……いえ、新たなる呪文が出てきました。
――『update』(アップデート)
――『insert』(インサート)
――『delete』(デリート)
秘められた力とは、果たして……!
つづきをお楽しみに。