• ベストアンサー

副問い合わせ

質問はここでいいでしょうか? SQLyogを使って作成したテーブルをlocalhostで表示させようとしています。limit句とorder by句は合わせて用いることが出来ました。今、ここにさらにlike演算子を追加しようとしています。これは可能でしょうか? また、上記の(order byとlimit処理のみの)デーブルに新たにkeyカラムを加えたところ'(order by) Key ASC LIMIT 0,10'"の所でエラーが出ます。他のカラムではこの書き方で首尾よくいっているため原因が分かりません。 どちらかでもいいので教えて頂けますか\(*^▽^*)/

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

SQLyogというソフトは、対応RDBMSはMySQLでは? ここのカテゴリのPostgreSQLでは、「LIMIT 0,10」とは書けず、「OFFSET 0 LIMIT 10」という書き方になるようですから。 「(ORDER BY) 列名」という書き方で、本当にうまく行っているのでしょうか? MySQL、PostgreSQLのどちらも、構文エラーになりました。 一般的なSQLの書き方では、「ORDER BY 列名」です。 「order by key」では、keyが予約語になっているので、MySQLではエラーになります。 「order by `key`」とバックコーテーションで列名を囲ってください。 「WHERE 列名 LIKE ~」という条件追加は、MySQL等を使っているなら、何ら問題ないはずです。 ここでも予約語の列名なら、列名を「`」で囲むのを忘れないでください。

javatea_1985
質問者

お礼

すいません、()は分かりやすくするためにorder byを入れたために発生した文字でした。 教えて頂いた方法で試してみます。 keyは予約語なのですね。 どれでうまくいかないんだと思います。 文字を変えてみます。m(__)m

その他の回答 (1)

回答No.2

#1回答者です。 #1回答後に気付きましたが、質問のタイトルで「副問い合わせ」とありますが、質問内容に副問い合わせのことが一つもありませんが?

javatea_1985
質問者

お礼

そうなんですか!? order byとlimitを組み合わせている時点で副問い合わせ(複数の演算子)なのかと思っていました。 しょぼいんですいません。δ(⌒~⌒ι)

関連するQ&A