码迷,mamicode.com
首页 > 数据库 > 详细

oracle 连接查询,和(+)符号的用法

时间:2015-01-17 17:55:09      阅读:471      评论:0      收藏:0      [点我收藏+]

标签:


--连接查询 左链接、右链接,全链接
--内链接
select e.account 用户名, e.empname 名称, c.comname 公司名称
  from employee e
 inner join company c on (e.com_sq = c.sequen)
 where c.sequen = 1;
--连接查询也可以用这种方法来查询
select e.account 用户名, e.empname 名称, c.comname 公司名称
  from employee e,company c where e.com_sq=c.sequen;


JOIN的写法是SQL的标准,当有多个表关联时,JOIN的方式写法的写法能更清楚的看清楚各表之间的关系,所以建议使用JSON写法

技术分享



left join 以左边查询为准,只会返回左边匹配的数据,右表没有匹配的信息不显示
技术分享


right join 以右边查询为准,只会返回左右边匹配的数据,左表没有匹配的信息不显示
技术分享


full join 全查询,左右两表数据都显示出来
技术分享


其中左右链接查询也可以是下面哪种写法
select * from table1 a,table2 b from a.v(+)=b.id; --(+) 在右边表示有查询相当于 right join
select * from table1 a,table2 b from a.v=b.id(+); --(+) 在左边表示有查询相当于 left join
(+)操作符只能用于实现左外连接和右外连接,而不能用于实现完全外连接。
技术分享


有关于常用的查询再说说其它的把,--未完待续。。。
-查询分类(注意:分类如果是汉字需要用 ‘‘ 如 case when a>100 then ‘屌丝一级‘)
select sequen as 编号,
       account as 用户名,
       case
         when e.salary >1000 and e.salary < 2000 then 1
         when e.salary<=1000 then 0
         else
          2
       end as 级别,
       e.salary as 工资
  from employee e
 order by 1, 3 asc;


根据指定日期来查询每个小时的订单销售总额

select trunc(remittime - 1 / 24 / 60 / 60, ‘HH‘) time, sum(FPRICE)

  from info_pnr p
 where p.remittime >=
       to_date(‘2014-2-28 00:00:00‘, ‘yyyy-mm-dd hh24:mi:ss‘)
   and p.remittime <=
       to_date(‘2014-2-28 23:59:59‘, ‘yyyy-mm-dd hh24:mi:ss‘)
 group by trunc(remittime - 1 / 24 / 60 / 60, ‘HH‘)
 order by trunc(remittime - 1 / 24 / 60 / 60, ‘HH‘);




oracle 连接查询,和(+)符号的用法

标签:

原文地址:http://www.cnblogs.com/laotan/p/4230733.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!