如何从没有连接的两个表中获得结果

时间:2016-06-15 07:41:47

标签: sql

..第一个表包含

id,name,age..

第二张表包含

id , salary ...

如何在没有连接的情况下组合它们?

4 个答案:

答案 0 :(得分:2)

取决于第二个表中所需的列数。

如果它不多,那么您可以使用相关查询来获得此结果,但您需要的每个列意味着另一个相关查询:

SELECT t.*,
       (SELECT s.salary FROM 2nd_Table s
        WHERE t.id = s.id) as salary,
       (SELECT s.OtherColumn FROM 2nd_Table s
        WHERE t.id = s.id) as OtherColumn ,
FROM 1st_table t

答案 1 :(得分:1)

您可以使用子查询从多个表中获取结果,而无需任何连接关系。

select id, name, age, (select salary from tbl2 where id = 2) as salary 
from tbl1;

答案 2 :(得分:0)

有两种方法可以做到这一点。

  1. 执行嵌套查询。

    select id, name, age from table1 where id in (select id from table2);
    

    但是在这种方法中,您只能访问第一个表的列。

  2. 根据您的要求创建视图。

    在这种方法中,您可以根据需要使用多个表中的列创建视图,然后只需一次查询即可。

    create view v as (
        select t1.id, t1.name, t1.age, t2.salary
        from table1 t1
        join table2 t2
        on  t1.id = t2.id
    );
    

答案 3 :(得分:-3)

SELECT a.id, a.name, ..., b.salery, ..
FROM table1 a, table2 b
WHERE a.id = b.id

简单就是那个