假如有如下两张表:
A ID    NAME   AGE
   1     aaa    10
   2     BdB    10
   3     CbC     10
B  ID   key 
   1     a
   2     d   如何一条语句查询出A表中 包含B表的key字段值的的记录

解决方案 »

  1.   

    要求结果  是什么,哪个字段包含B表的key字段
      

  2.   

    是这个意思?mysql> select * from ta;
    +------+------+------+
    | id   | name | age  |
    +------+------+------+
    |    1 | aaa  |   10 |
    |    2 | BdB  |   10 |
    |    3 | CbC  |   10 |
    |    4 | ddd  |   10 |
    +------+------+------+
    4 rows in set (0.00 sec)mysql> select * from tb;
    +------+------+
    | id   | key  |
    +------+------+
    |    1 | a    |
    |    2 | b    |
    +------+------+
    2 rows in set (0.00 sec)mysql> select * from ta, tb where name rlike `key`;
    +------+------+------+------+------+
    | id   | name | age  | id   | key  |
    +------+------+------+------+------+
    |    1 | aaa  |   10 |    1 | a    |
    |    2 | BdB  |   10 |    2 | b    |
    |    3 | CbC  |   10 |    2 | b    |
    +------+------+------+------+------+
    3 rows in set (0.00 sec)
      

  3.   

    select *
    from a,b
    where instr(A.name,B.key)>0
      

  4.   

    select * from a inner join b on instr(A.`name`,B.`key`)>0