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

--连接查询 左链接、右链接,全链接 --内链接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‘);

				
时间: 2024-08-04 00:01:17

oracle 连接查询,和(+)符号的用法的相关文章

Oracle 连接查询&lt;一&gt;

在Oracle数据库中,连接查询分为交叉连接.内连接.外链接3种类型.其中,交叉连接结果是所有其他连接结果的超集,而外连接结果又是内连接结果的超集. 交叉连接 交叉连接又称为笛卡尔积连接,是两个或多个 表之间的无条件连接.一个表中所有记录分别与其他表中所有记录进行记录.如果进行连接的表分别有n1,n2,n3...条记录,那么交叉连接的结果集中将有n1 x n2 x n3 x...条记录.例如,emp表中有14条记录,dept表中有4条记录,那么两个交叉连接后有56条记录,语句为 SQL> SEL

Oracle连接查询

一.内连接和外连接    内连接用于返回满足连接条件的记录:而外连接则是内连接的扩展,它不仅会满足连接条件的记录,而且还会返回不满足连接条件的记录,语法如下: Oracle代码 select table1.column,table2.column from table1 [inner|left|right|full]join table2 on table1.column=table2.column; inner join表示内连接.left join表示左外连接.right join表示右外连

oracle 连接查询

在SQL Server中已经学习过内联接(inner join).外联接(outer join),外联接又分为左外联接(left outer join)和 右外联接(right outer join).Oracle中对两个表或者若干表之间的外联接用(+)表示. 代码演示:请查询出工资大于2000元的员工的姓名,部门,工作,工资. 由于部门名称在dept中,其他的信息在emp表中,需要内联接才能完成. SQL> SELECT e.ENAME,e.JOB,e.SAL,d.DNAME 2 FROM e

oracle 模糊查询中的转义字符用法

drop view aaa; create view aaa as select '_BCDE' A FROM DUAL UNION ALL SELECT 'ABCDE' FROM DUAL UNION ALL SELECT 'ACBDE' FROM DUAL; SELECT A FROM AAA WHERE A LIKE '_BCD%'; select a from aaa where a like '\_BCD%' ESCAPE '\'; ESCAPE 后面的字符表示是一个检索字符, 字符串

Oracle学习笔记五 SQL命令(三):Group by、排序、连接查询、子查询、分页

GROUP BY和HAVING子句 GROUP BY子句 用于将信息划分为更小的组每一组行返回针对该组的单个结果 --统计每个部门的人数: Select count(*) from emp group by deptno; --根据部门分组,并统计 Select deptno, count(*) form emp group by deptno; select deptno, avg(sal) from emp group by deptno; --每个部门的平均工资 HAVING子句 用于指定

Oracle用户登录和连接查询、特殊排序、over()、rank()、decode()、 case when、UNION/UNION ALL

一.登录问题 1. 忘记用户名密码: (1)默认应户名密码: system/manager    sys/change_on_install     scott/tiger (2)cmd以系统管理员身份登录: C:\Users\SAMSUNG>sqlplus system/manager as sysdba 查看所有user: SQL> select username from dba_users; 修改用户密码: SQL> alter user scott identified by

Oracle(sql)文盲大扫除思维导图系列(三)——多表连接查询子查询

继续上图 一些demo --通过连接运算符可以实现多个表查询,连接是关系数据库模型的主要特点. --在FROM子句中指出连接时有助于将连接操作与WHERE子句中的搜索条件区分开来. --一般来说,连接查询比嵌套查询的效率高一点.所以,在Transact-SQL中推荐使用这种方法. select * from emp; select * from dept; select * from salgrade; --先来看内连接,内连接是最典型和最常用的连接运算,内连接通常通过连接谓词或运算符(如joi

oracle(sql)基础篇系列(二)&mdash;&mdash;多表连接查询、子查询、视图

    多表连接查询 内连接(inner join) 目的:将多张表中能通过链接谓词或者链接运算符连接起来的数据查询出来. 等值连接(join...on(...=...)) --选出雇员的名字和雇员所在的部门名字 --(1)必须明确的指出重复字段属于哪个表 select ename,dname dept.deptno from emp,dept where emp.deptno = dept.deptno;   --(2)新语法:join...on(...=...) select ename,

C#连接Oracle数据库查询数据

C#连接Oracle数据库可以实现许多我们需要的功能,下面介绍的是C#连接Oracle数据库查询数据的方法,如果您对C#连接Oracle数据库方面感兴趣的话,不妨一看. using System; using System.Collections.Generic; using System.ComponentModel using System.Data.OracleClient;;//这行和下一行都要先在引用中填加system.data.oracleclient using System.Da