- ベストアンサー
RLIKE vs LIKE: 速度比較と検索値の増加時の影響
- 1と2では、どちらが速いのでしょうか?
- 3と4の様に検索する値が増えて行った場合では、どちらが速いのでしょうか?
- ベンチとれと言われればそれまでですが、お時間頂ければ、ご教授の程、宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
関連するQ&A
- likeの使い方について
すみません。教えてください。。 ACCESSで下記2つのテーブルをunionでくっつけて nameの右端(1桁目)が同一のもの(CとCCなど)を抽出するため 下記のような構文を構築したのですが抽出されません。。 お手数ですがこちら何が原因となっているか教えていただけないでしょうか。。 よろしくお願い致します。 id name id name 1 a 1 a 2 b 2 b 3 c 3 cc 4 d 5 ee 5 e select * from (select * from tb1 union select * from tb2) as A where name like '*c' or name like '*d' or name like '*e'
- ベストアンサー
- その他(データベース)
- LIKEによる検索について
お世話になります。 id| text --+-------------- 1 |AD(LONG+LONG2+INT) --+-------------- 2 |AD(INT+LONG) --+-------------- 3 |AD(LONG2+INT) --+-------------- : | : というテーブル(sample)がありまして、 textカラムの'LONG'だけをを抽出したいのですが、うまく抽出できません(LONG2なども検索されてしまう)。 SELECT * FROM sample WHERE text LIKE '%LONG%' AND text NOT LIKE '%LONG2%' ではだめなのはわかりましたが、こういう場合、どう検索したらよいのでしょうか? よろしくお願いいたします。
- ベストアンサー
- PostgreSQL
- LIKE検索の場合うまくいきません
WEBアプリとSQLServerでSELECTをするときに不正をされないように SELECT * FROM DB WHERE DB.A = 検索文字 を SELECT * FROM DB WHERE DB.A= @A のようにして、@Aを後で指定しますが、 SELECT * FROM DB WHERE LIKE '%検索文字' のようにLIKE検索の場合うまくいきません。 どのように記述したらいいのでしょうか? SELECT * FROM DB WHERE DB.A LIKE @A --> 駄目 SELECT * FROM DB WHERE DB.A LIKE '%@A' --> 駄目
- ベストアンサー
- SQL Server
- 複数カラムに対するLIKE文の最適化
column1~column3のデータに文字検索をしたいのですが、 下記のような不恰好なSQLしか思いつきません、、。 select * from tb where ( column1 like '%word1%' or column2 like '%word1%' or column3 like '%word1%' ) and ( column1 like '%word2%' or column2 like '%word2%' or column3 like '%word2%' ) and ( column1 like '%word3%' or column2 like '%word3%' or column3 like '%word3%' ) 試しに、 select * from tb where ( ( column1 or column2 or column3) like '%word1%' ) and ( ( column1 or column2 or column3) like '%word2%' ) and ( ( column1 or column2 or column3) like '%word3%' ) と考えたのですが、これですと検索結果0件になってしまいます。 もっとスマートなSQL文がありましたら、ご教授頂きたいです。
- ベストアンサー
- MySQL
- pg/plsqlでのカーソルのLIKEの記述方法
連続で投稿まことに申し訳ありません できればこちらの方を優先的にお返事いただけると幸いです。 ストアドファンクションのDECLARE部で カーソル部のLIKEのところの記述がうまく検索されません。 ご教授いただけると幸いです。 *このように記述してみました mycursor CURSOR(key text) FOR SELECT * FROM tabel1 in WHERE id LIKE ''%key%'';
- ベストアンサー
- PostgreSQL
- LIKEとINを同時に使いたい
AccessをMDBで使っています。 ユーザ名が、「岡」「吉」「岡田~」「吉田~」であるレコードを検索します。 odbc_exec($conn, 'select * from syain where un IN(\'岡\',\'吉\') or un LIKE \'岡田%\' or un LIKE \'吉田%\''); これを改造してユーザ名が、 「岡」「吉」「西」「岡田~」「吉田~」「西田~」 であるレコードを検索する場合、LIKE自体を書く数を増やさなくてはいけません。 /^[岡|吉|西](田.*)?$/ このようなイメージのSQLにできませんか?
- 締切済み
- その他(データベース)
- LIKEを用いたあいまい検索の方法
SELECT `a2` FROM `a1` , `b1` WHERE a1.a2 LIKE b1.b2; を部分一致で検索したいのですが不可能なのでしょうか? SELECT `a2` FROM `a1` , `b1` WHERE a1.a2 LIKE '%b1.b2%'; とするとエラーは出ないのですが、検索結果が0になってしまうのです。 [開発環境] MySQL 4.0.x a1 b1 +--------+ +------+ | a2 | | b2 | +-------+ +-------+ | abcde | | cd | +-------+ +-------+ よろしくお願い致します。
- ベストアンサー
- MySQL
- 複数テーブルからLIKE検索を行いたいのですが、う
複数テーブルからLIKE検索を行いたいのですが、うまくいかないので教えてください ■やりたいこと ・一つのキーワードで、MAINテーブル「hoge」カラムと、SUBテーブル「hoge」カラムを検索して、該当したレコードを表示したい ■テーブル構成 ・MAIN … 「id」「main1」「hoge」… ・SUB… 「sub_id」「main_id」「sub1」「hoge」… ・1つの「id」に対して、対応する「sub_id」が複数(「id」1は一つだけ。対応する「sub_id」1は複数あります) ■試したこと1 SELECT a.* , r.* FROM main a LEFT JOIN sub r ON a.id = r.main_id WHERE ( a.hoge LIKE '%キーワード%' OR r.hoge LIKE '%キーワード%' ) とやると、2件ヒットするはずなのに、1レコードしか取得できません(1レコードに「hoge」カラムが2つ入ります) ■試したこと2 SELECT a.* , r.hoge as rhoge FROM main a LEFT JOIN sub r ON a.id = r.main_id WHERE ( a.hoge LIKE '%キーワード%' OR r.hoge LIKE '%キーワード%' ) とやると、2件ヒットするはずなのに、1レコードしか取得できません(1レコードに「hoge」と「rhoge」カラムになります) ■試したこと3 FROMで2箇所指定するのかと思ったのですが、 SELECT a.* , r.* FROM (main a,sub r) LEFT JOIN r ON a.id = r.main_id WHERE ( a.hoge LIKE '%キーワード%' OR r.hoge LIKE '%キーワード%' ) 結果は、#1066 - Not unique table/alias: 'r'になります ■試したこと4 LEFT JOINがいらないのかと思い、削除したら、2件ヒットするはずなのに、たくさんヒットしてしまいます ■質問 欲しいのは、キーワード検索した際、該当カラムにヒットした数だけのレコードなのですが、どうすれば良いのでしょうか? ■例 ・東京で検索 ・MAINテーブル「hoge」カラム(2レコード)で2ヒット ・SUBテーブル「hoge」カラム(3レコード)で3ヒット ・ヒットした該当5レコードを取得したい
- ベストアンサー
- MySQL
お礼
参考にさせて頂きました。 ありがとうございました。