..第一个表包含
id,name,age..
第二张表包含
id , salary ...
如何在没有连接的情况下组合它们?
答案 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)
有两种方法可以做到这一点。
执行嵌套查询。
select id, name, age from table1 where id in (select id from table2);
但是在这种方法中,您只能访问第一个表的列。
根据您的要求创建视图。
在这种方法中,您可以根据需要使用多个表中的列创建视图,然后只需一次查询即可。
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
简单就是那个