質問: 誤った投稿であるため削除させていただきます。ご迷惑をおかけして申し訳ありません。
回答: 回答を求めてないとおっしゃっているのに回答するのも微妙ですが。 問題を解いて一瞬で次の壁にぶつかる、のも、現状の yanyi さんのスキルと、yanyi さんがやりとげたいことを考えたら、避けられないことではないかと思います。なので、やりたいことをあきらめるのでなければ、どんどんぶつかって、ぶつかったら乗り越えて、を繰り返すしかないのではないでしょうか。 さて、ごくごく一般的には、JavaScript で SQL を扱うことはありません。特に jQuery はクライアントサイド、ざっくり言えばブラウザの上で DOM 要素をいじるのに長けたライブラリであり、一方で SQL はサーバサイドで RDBMS に保存されたデータにアクセスするのに使われます。ですので、jQuery で SQL をいじるようなことは普通はありません。 yanyi さんが取り組んでいらっしゃるということで提示されたシステムでも、jQuery は使われていいるようですが、今回の SQL 周りの話にはまったく関係ないようです。 > > alasqlというキーワードをググっても訳わからない情報ばっか出てきます > > > とありますが、私もググって見ました。 Alasql.js というツールが引っかかりましたが、まさにこれが今回の個人情報システムに使われているようですね。 ざっくり言えば、クライアントサイドでオンメモリで動く RDBMS のようですね。つまり、ブラウザ上では保存しておきたい情報は、JavaScript の変数にハッシュで保存したり、localStorage を使ったりするわけですが、この Alasql.js を使うと、サーバサイドで RDBMS を使うかのごとく、SQL を使ってデータの格納・参照などができる、ということのようです。 参考までに、日本語で解説されているページを貼っておきます。 Alasql.js - オンメモリで動作するJavaScriptデータベース - MOONGIFT > > var xxx=alasql('select * from emp')で > > xxxにそのempという名のcsvファイルの中の情報をゲットしたのが分かります > > > Alasql.js についてははよくわかっていませんが、ここは、通常の RDBMS を使っているのと同様、`emp` というテーブルからデータを引っ張り出しているのでしょう。csv とテーブルのマッチングについては別に設定がなされているのではないでしょうか。 で、`xxx` の部分は普通の JavaScript オブジェクト、おそらくレコードの配列になっていて、レコードはテーブルのカラム名をキーとしたハッシュになっているのでしょう。 ですので、 > > そして[3]で3番目、3人目のデータを指しているでしょうね > > > というところはあっていると思います(おそらく `[0]` から始まっていて、`[3]` は 4 人目のデータではないかと思いますが ...)。 > > 後ろの.idは恐らくその人のidをクラス指定しているのではないかと思いますが > > > とあります、ここは jQuery のセレクタ (というか CSS のセレクタ) と混同されているようですが、単なる JavaScript のハッシュのキーによるアクセスでしょう。 早い話、`var xxx = alasql( ... )` で取ってきたデータは、`xxx` に次の `yyy` と同じような形で格納されていると思われ、 ``` var yyy = [ { id: 0, name: 'takeshi', age: 25, phone: '080-xxxx-0123' }, { id: 1, name: 'makoto', age: 31, phone: '080-xxxx-4567' }, { id: 3, name: 'kazuko', age: 26, phone: '080-xxxx-8901' }, { id: 4, name: 'tetsuya', age: 33, phone: '080-xxxx-2345' } ]; ``` 仮に、`yyy[3].id` とやれば `4` が得られるし、`yyy[3].name` とやれば `'tetsuya'` が得られるし、というような話かと思います。 データの並べ替えについては、Alasql.js のドキュメントを読んで理解するのがいちばんと思います。他のアプローチとしては、`xxx` の時点では普通の JavaScript 配列になっていますので、`xxx.sort()` でお好みの順番にソートするというのもあります。先の `yyy` を「若い順」に並び替えるとすれば ``` yyy.sort(function(a, b) { return (a.age == b.age) ? 0: a.age > b.age ? 1 : -1; \ }); ``` としてしまうとか。