三个表上的SQL

时间:2017-08-29 04:15:06

标签: sql

我有3张桌子

  • cl_address:FK - cl_ser_id,FK - add_ser_id
  • address:PK - add_ser_id
  • youths_info:FK - cl_ser_id

我想

select * 
from youths_info

select * 
from address

请问一些大师请帮助并使用代码并建议最优化的SQL?

以下是我的试用代码,该代码导致上一个INNER JOIN

出错
SELECT a.*, y.* 
FROM [informix.address] a  
INNER JOIN [informix.cl_address] cla ON a.addr_ser_id = cla.addr_ser_id
INNER JOIN [informix.cl_address] cla ON [youth_info] y
cla.cl_ser_id = y.cl_ser_id

1 个答案:

答案 0 :(得分:0)

由于没有样本数据和期望的结果,我假设您需要查询如下。

SELECT a.*,
       yi.*
FROM address a
JOIN cl_address cla ON a.add_ser_id = cla.add_ser_id
JOIN youths_info yi ON yi.cl_ser_id = cla.cl_ser_id;

以上查询将返回inneraddress表中所有列的youth_info个结果。如果您需要leftright outer结果,则必须根据dbms调整上述查询中的联接。