oracle(+)怎样理解
答案:2 悬赏:0 手机版
解决时间 2021-11-28 02:04
- 提问者网友:我没有何以琛的痴心不悔
- 2021-11-27 12:00
oracle(+)怎样理解
最佳答案
- 五星知识达人网友:话散在刀尖上
- 2021-11-27 12:56
加号在左 等价于右连接(right join)
加号在右 等价于左连接(left join)
第1句sql 等价于:
SELECt d.dname,SUM(e.sal),COUNT(e.empno)
FROM emp e left join dept d on e.deptno=d.deptno
WHERe d.dname LIKE '%S%'
GROUP BY d.dname;
一般写加号是为了简便追问这个知道,如第一个,左连接应该是显示左表的所有信息和右表符合的信息,
SUM(e.sal),COUNT(e.empno)的所有信息都该出来是不,即便为空或为零,是这样么?追答聚合函数是对复合where条件的所有数据的统计。
只要同时符合where和join条件,就会被 sum, count 统计,
就是对符合条件的数据集合进行统计:
select dname sum(sal),count(empno)
from (
SELECt d.dname, e.sal , e.empno
FROM emp e left join dept d on e.deptno=d.deptno
WHERe d.dname LIKE '%S%'
)
group by dname追问你好,能否加下qq:772972769,给我再看个问题,拜托,是个jdbc中实现类里的mysql语句,能帮忙么?
加号在右 等价于左连接(left join)
第1句sql 等价于:
SELECt d.dname,SUM(e.sal),COUNT(e.empno)
FROM emp e left join dept d on e.deptno=d.deptno
WHERe d.dname LIKE '%S%'
GROUP BY d.dname;
一般写加号是为了简便追问这个知道,如第一个,左连接应该是显示左表的所有信息和右表符合的信息,
SUM(e.sal),COUNT(e.empno)的所有信息都该出来是不,即便为空或为零,是这样么?追答聚合函数是对复合where条件的所有数据的统计。
只要同时符合where和join条件,就会被 sum, count 统计,
就是对符合条件的数据集合进行统计:
select dname sum(sal),count(empno)
from (
SELECt d.dname, e.sal , e.empno
FROM emp e left join dept d on e.deptno=d.deptno
WHERe d.dname LIKE '%S%'
)
group by dname追问你好,能否加下qq:772972769,给我再看个问题,拜托,是个jdbc中实现类里的mysql语句,能帮忙么?
全部回答
- 1楼网友:逐風
- 2021-11-27 13:20
(+) 在右边, 就是取左边表的所有记录
(+) 在左边, 就是取右边表的所有记录
WHERe e.deptno=d.deptno(+) 就是取 e.deptno (部门代码?) 表中的所有记录
不管d.deptno表里有没有相同数据.
同理, WHERe e.deptno(+)=d.deptno 就是取 d.deptno 表中所有记录
(+) 可以理解为 "补充"
在右边, 就是说右边的表需要"补充"记录, 才能匹配(?)左边的表
(+) 在左边, 就是取右边表的所有记录
WHERe e.deptno=d.deptno(+) 就是取 e.deptno (部门代码?) 表中的所有记录
不管d.deptno表里有没有相同数据.
同理, WHERe e.deptno(+)=d.deptno 就是取 d.deptno 表中所有记录
(+) 可以理解为 "补充"
在右边, 就是说右边的表需要"补充"记录, 才能匹配(?)左边的表
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯