Oracle_SQL92_连接查询
2017-03-12 16:53
288 查看
Oracle_SQL92_连接查询
笛卡儿积 |
--笛卡尔积 select * from emp;----14 select * from dept;----4 select * from emp,dept;----56 |
等值连接 |
--等值连接(用两张表都存在的列进行等值连接) select * from emp, dept where emp.deptno = dept.deptno; --查询员工的姓名,薪水,部门编号,部门名称 select ename, sal, emp.deptno, dname from emp,dept where emp.deptno = dept.deptno; --给表起了别名(不能加 as),就不能使用原来的名字了 select ename, sal, e.deptno, dname from emp e, dept d where e.deptno = d.deptno; |
非等值连接 |
--非等值连接(用两张表都存在的列进行非等值连接) --查询员工的姓名,职位,薪资,薪资等级 select e.ename, e.job, e.sal, s.grade from emp e, salgrade s where e.sal>=s.losal and e.sal<=s.hisal; select e.ename, e.job, e.sal, s.grade from emp e, salgrade s where e.sal between s.losal and s.hisal; --查询员工的编号,姓名,部门名称,薪水等级(利用等值连接和非等值连接) select e.empno, e.ename, d.dname, s.grade from emp e, dept d, salgrade s where e.deptno=d.deptno and e.sal between s.losal and s.hisal; |
自连接 |
--自连接 --查询员工的编号,姓名,领导的编号,领导的姓名 select e1.empno, e1.ename, e1.mgr, e2.ename from emp e1,emp e2 where e1.mgr = e2.empno; |
左外连接/右外连接 |
使用外连接可以看到参与连接的某一方不满足连接条件的记录,而不仅仅是满足连接条件的数据 select * from emp; select e1.empno, e1.ename, e1.mgr, e2.ename from emp e1, emp e2 where e1.mgr = e2.empno(+);--左外连接,显示左边表的全部行 select e1.empno, e1.ename, e1.mgr, e2.ename from emp e1, emp e2 where e1.mgr(+) = e2.empno;--右外连接,显示右边表的全部行 |
相关文章推荐
- c#连接oracle查询
- oracle外连接查询
- Oracle表连接与子查询示例
- oracle两个表连接的分段查询
- 查询所有连接到ORACLE服务器的客户端IP地址的方法
- ORACLE连接类型 各种连接查询PL/SQL测试
- oracle中表连接查询 和 分页查询
- Oracle学习_3 sql子查询,自连接,单行select总结
- 在SQL Server 2005中连接Oracle,完成查询、插入操作
- VS2010连接Oracle在查询数据时报"指定的转换无效"
- Oracle 数据库连接查询SQL语句
- ORACLE 的SQL查询连接方法
- 【Oracle】多表连接查询——内连接、左连接、右连接、全连接(外连接)、完全连接
- Oracle学习_3 sql子查询,自连接,单行select总结
- oracle连接查询 内连接 外连接 全连接
- 查询oracle当前连接数
- ORACLE 多表连接与子查询
- ORACLE多表连接与子查询(转)
- oracle外连接查询
- oracle sql 多表 嵌套子查询 连接查询, join where exist in 的区别