4.oracle高级查询

1.分组需要注意
    1.聚合函数只能出现在以下3个地方
          字段列表中
          having子句中
          order by 子句中
    2.where,group by、having、order by子句如果同时出现在一个查询语句中,则先后顺序是
          1. where
          2.先写group by
          3.再写having
          4.再写order by
    3.根据哪一个字段分组,查询时,就只能查询哪个字段,或聚合函数。




2.连接查询(多表连接查询,多表查询)  
    1.笛卡尔积
        一定会在内存中,搞一张大表出来的! 
        比如,A表有10行,B表有10行,A,B表的笛卡尔积就是100行!
        如果,A表1千万行,B表有1亿行,A,B标的笛卡尔积,就很恐怖啊!有可能会造成内存溢出!
    2.内连接(inner join)
        内连接与笛卡尔积十分相似,最终的结果也是一样的,但是内连接不会先搞一张大表,而是在两张表拼接的时候,同时判断条件!
        所以内连接根本就没有大表的产生!
    3.外连接
        左外连接(left join)
        右外连接(right join)
        查询所有员工的姓名,工资,及其工资的级别。
    4.自连接
        一张表,自己连接自己就是自连接。
        显示所有员工的上级领导的姓名


3.子查询
     1.按子查询出现的位置
          where型子查询
          from型子查询
     2.按子查询返回的结果
          标量子查询: 返回一行一列的结果
                在> < = != <= >=之后,只能跟标量子查询!
          列子查询 : 返回多行一列的结果
                all、any、in、not in、some(等价于any)
                >all比最大的大  < all 比最小的小
                >any比最小的大 < any 比最大的小
          行子查询 :返回一行多列的结果
          表子查询 :返回多行多列的结果
     3.使用子查询作为update语句中的新值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值