Oracle多表关联查询

做数据查询时,我们经常会用到较为复杂的多表查询,写一个简单的样例——多表关联查询

----稍微复杂点的表信息查询

select upper(CONCAT(CONCAT(tb_name,'_'),tb.tb_code)) "实体表名", tb.TB_CN_NAME "表名_TB_CN_NAME", tb.tb_code "表编码tb_code", SUBSTR(tb.TB_REG_TIME ,0,10)"导入时间",
db.DB_NAME "库名_DB_NAME", db.DB_CODE "库编码_DB_CODE",
sr.SR_DATA_NAME "源名_SR_DATA_NAME", sr.SR_DATA_CODE "源编码_SR_DATA_CODE" 
from TB_INFO_REG tb, DB_INFO_REG db, SR_DATA_INFO_REG sr
where tb.TB_CN_NAME like '%成果%' and tb.DB_CODE = db.DB_CODE and sr.SR_DATA_CODE = db.SR_DATA_CODE
ORDER BY tb.TB_CN_NAME;

多表横向拼接可使用

with t1 as (select tt.id from CYFXTZJGJBQK_TB16372018 tt),
t2 as (select id from CYFXTZJGJBQK_TB16372018 a where exists (select GSMC from CYFXTZJGJBQK_TB16372018 b where a.id = b.id))
select * from t1, t2;

 

posted @ 2018-08-26 11:04  两两翅膀  阅读(739)  评论(0)    收藏  举报