多表用这种可以吗

来源:4-8 [Oracle] 主查询和子查询不是同一张表

大河弯弯

2015-10-07 16:18

elect e.*
from emp e,dept d
where e.deptno=d.deptno
having d.dname=SALES;

写回答 关注

4回答

  • 慕斯卡6169147
    2020-11-30 14:23:14
    A:
    select e.*
    from emp e,dept d
    on e.deptno=d.deptno
    where d.dname=SALES;
    
    B:
    select e.*
      from emp e,dept d
     where e.deptno=d.deptno
      and d.dname=SALES;

    1、正确书写方法

    2、where跟having最大的区别在于,having要结合聚合函数适应

    3、性能上where更优

    4、不清楚你想表达的是A写法还是B写法。两种不同,具体哪里不同自己执行体会一下。

  • 慕田峪9362115
    2019-06-04 00:44:27

    为什么要用having呢?

    select e.*
    from emp e,dept d
    where e.deptno=d.deptno and d.dname=SALES; 不好么

    慕粉3809...

    条件里面有组函数的话就只能用having,一般情况使用where。效率更高

    2019-06-06 15:29:55

    共 1 条回复 >

  • 玄鉴
    2016-08-12 11:13:06

    我怎么感觉可以啊,这根连接没有关系吧,这是where和haning共用吧。要是有代码,直接验证一下就好。我在修改密码,一时登录不上,哪位仁兄试验一下。

  • 慕仔7402843
    2015-12-09 00:46:57

    不可以,需要连接,左连接或者右连接或者子表查询

Oracle高级查询

数据库开发中应用广泛的高级查询,本教程通过大量的案例详细讲解

62884 学习 · 144 问题

查看课程

相似问题