举个例子,表 man 表示男人的一些信息(ID,Name,Address...),表 woman 表示女人的一些信息(ID,Name,Address...),我现在要做个模糊查询,查询name符合条件的男人女人信息集合,要求是必须写一条sql,这两张表结构基本字段部分是一样的,有部分不一样,这两张表没有任何关联字段,这样的sql怎么写啊?

解决方案 »

  1.   


    select * from 
    (select man.ID,man.Name,man.Address
    from man
    union all 
    select woman.ID,woman.Name,woman.Address
    from woman) t
    where t.name like '%yourcondtion%';
      

  2.   

    举个例子
    man
    id name address
    1  zhangsan ...
    2 lisi  ...woman
    id name address
    3  wanger ...
    4  hanmeimei ...当name like '%%',可以查出man 和woman表里所有记录id name address
    1  zhangsan ...
    2 lisi  ...
    3  wanger ...
    4  hanmeimei ...
      

  3.   

    写出两个sql,中间用union all连接
    表结构不同的地方,设置成相同,缺失的字段用null带入。 就可以看到两个表查询出来的所有信息了
      

  4.   

    select * from 
    (select man.ID,man.Name,man.Address
    from man
    union all 
    select woman.ID,woman.Name,woman.Address
    from woman) t
    where t.name like '%yourcondtion%';