如下三个表:
表A, id ,name, num_a
1 a 10
2 b 20
3 c 30
4 d 40
5 e 50
6 f 60表B id , num_b
1 7
2 8
3 9
5 10表C id ,num_c
4 10
5 20
目的 id name num_a num_b,mun_c
1 a 10 7 null
2 b 20 8 null
3 c 30 9 null
4 d 40 null 10
5 e 50 null 20就是汇总一下B和C表,然后再从A中得到name ,小弟sql刚入门,各位大哥们指点一下。
表A, id ,name, num_a
1 a 10
2 b 20
3 c 30
4 d 40
5 e 50
6 f 60表B id , num_b
1 7
2 8
3 9
5 10表C id ,num_c
4 10
5 20
目的 id name num_a num_b,mun_c
1 a 10 7 null
2 b 20 8 null
3 c 30 9 null
4 d 40 null 10
5 e 50 null 20就是汇总一下B和C表,然后再从A中得到name ,小弟sql刚入门,各位大哥们指点一下。
解决方案 »
- php oracle 日期乱码
- fetch next from问题
- 如何并发每次取前100条不同记录,高手请进
- !存储过程中该不该做事务处理?(100分)
- 不好意思,再问一个菜鸟问题
- oracle的日期型要怎才能正常显示
- 请大家帮忙把这段SQL存储过程改成ORACLE的存储过程,谢谢
- 过程 for j in (SQL语句) loop 这样语句中的SQL语句能否写成动态的?
- oracle字段名无效
- linux ,oracle mount过程中报错,重启没关库导致的,求大神帮忙谢谢,Address not mapped to object
- Oracle 执行更新记录的问题
- 处理主从小区问题两种sql写法的比较
这个(+) 有什么作用么 我用类似的方法搜索过 这样没有null值
1 a 10 1 7
2 b 20 2 8
3 c 30 3 9
5 e 50 5 10 5 20
6 f 60
4 d 40 4 10
select a.id,a.name,a.num_a,b.num_b,c.num_c
from a left join b on a.id=b.id
left join c on a.id=c.id
FROM
(
SELECT A.ID ID,A.NAME NAME,A.NUM_A NA,B.NUM_B NB
FROM A LEFT JOIN B
ON A.ID=B.ID
)T LEFT JOIN C
ON T.ID=C.ID
类似于 左连 或是 右连 总是放在数据量少的一边
上边的是说 a表 左连b 表 和 C表 显示a表所有数据
8I之前的写法了 现在用left join 或是 right join