从另一个表中搜索字符串的最佳方法是什么

时间:2012-08-20 05:56:29

标签: mysql

我有两个表,table1和table2。我需要在col1.table2中搜索table1.col1的出现。我怎样才能做到这一点?

我做了以下声明,但我对mySQL没有经验。我不确定这是否是从两个不同的不相关表中查询的正确方法? col1和col2是字符串。

select table1.col1, table2.col1 from table1, table2 where 
STRCMP(table1.col1, table2.col1)=0;

这是否符合我的目的?可以优化吗?

2 个答案:

答案 0 :(得分:2)

“最佳方式”是加入两个表格。

SELECT  a.*, b.*
FROM    table1 a 
            INNER JOIN table2 b
                ON a.col1 = b.col1
-- WHERE   --other condition here

SubQuery方法(但我更喜欢加入表

SELECT  *
FROM    table1
WHERE   col1 IN
   (
     SELECT col1 
     FROM   table2
     -- WHERE -- condition here  
   )

答案 1 :(得分:0)

正如约翰所说,加入会更好:),但你总是可以在WHERE子句中放入另一个SELECT语句