oracle数据库多表连接查询

2024-12-19 03:16:28
推荐回答(2个)
回答1:

以oracle使用rownum伪列实现分页为例:
三表连接分页示例代码如下:
select * from (select rownum r,k.kch,k.kcm,cj.cj,x.xh,x.xm from KCB k,CJB cj,XSB x where k.kch = cj.kch and cj.xh = x.xh and rownum<=10) where r>0

特别注意这样外层查询时由于内层查询的字段有重复列名,所以内层查询最后不要用*。取完每一个表字段,这样很容易报错(“无效字段”)

回答2:

select a.* ,b.*,bma.bmname aname,bmb.bmname bname
from a
left join b on a.bid = b.id
left join bm bma on a.bmid = bma.bmid
left join bm bmb on b.bmid = bmb.bmid

其他条件可以继续加。