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;--右外连接,显示右边表的全部行  

 
 

Oracle_SQL92_连接查询的更多相关文章

  1. MySQL8:连接查询

    连接查询 连接是关系型数据库模型的主要特点. 连接查询是关系型数据库中最主要的查询,主要包括内连接.外连接等通过联结运算符可以实现多个表查询. 在关系型数据库管理系统中,表建立时各种数据之间的关系不必 ...

  2. SQL多表连接查询(详细实例)

    转载博客:joeleo博客(http://www.xker.com/page/e2012/0708/117368.html) 本文主要列举两张和三张表来讲述多表连接查询. 新建两张表: 表1:stud ...

  3. Mysql联合,连接查询

    一. 联合查询    UNION, INTERSECT, EXCEPT UNION运算符可以将两个或两个以上Select语句的查询结果集合合并成一个结果集合显示,即执行联合查询.UNION的语法格式为 ...

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

    GROUP BY和HAVING子句 GROUP BY子句 用于将信息划分为更小的组每一组行返回针对该组的单个结果 --统计每个部门的人数: Select count(*) from emp group ...

  5. SQL多表连接查询

    SQL多表连接查询 本文主要列举两张和三张表来讲述多表连接查询. 新建两张表: 表1:student  截图如下: 表2:course  截图如下: (此时这样建表只是为了演示连接SQL语句,当然实际 ...

  6. mysql的查询、子查询及连接查询

    >>>>>>>>>> 一.mysql查询的五种子句         where(条件查询).having(筛选).group by(分组). ...

  7. oracle(sql)基础篇系列(二)——多表连接查询、子查询、视图

        多表连接查询 内连接(inner join) 目的:将多张表中能通过链接谓词或者链接运算符连接起来的数据查询出来. 等值连接(join...on(...=...)) --选出雇员的名字和雇员所 ...

  8. Sql Server系列:多表连接查询

    连接查询是关系数据中最主要的查询,包括内连接.外连接等.通过连接运算符可以实现多个表查询.内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值.SQL Server中的内连接有 ...

  9. SubSonic3.0使用外连接查询时查询不出数据的问题修改

    今天在开发时,要使用到外连接查询,如图 老是查不出数据,所以就追踪了一下代码,发现查询后生成的SQL语句变成了内连接了,真是晕 然后继续Debug,发现原来SqlQuery类在调用LeftInnerJ ...

随机推荐

  1. sql存储过程中使用 output

    1.sql存储过程中使用 output CREATE PROCEDURE [dbo].[P_Max] @a int, -- 输入 @b int, -- 输入 @Returnc int output - ...

  2. js知识点图解

  3. MySQL视图,触发器,事务,存储过程,函数

    create triggr triafterinsertcmdlog after insert on cmd_log FOR EACH ROW trigger_body .#NEW : 代表新的记录 ...

  4. .Net IOC框架入门之二 CastleWindsor

    一.简介 Castle是.net平台上的一个开源项目,为企业级开发和WEB应用程序开发提供完整的服务,用于提供IOC的解决方案.IOC被称为控制反转或者依赖注入(Dependency Injectio ...

  5. chromedriver与chrome版本映射列表

    chromedriver与chrome版本映射列表: chromedriver版本 支持的Chrome版本 v2.30 v58-60 v2.29 v56-58 v2.28 v55-57 v2.27 v ...

  6. java基础day02

    变量命名: 1.1)只能包含字母.数字._和$符,并且不能以数字开头 1.2)严格区分大小写 1.3)不能使用关键字 变量初始化:1)声明的同时初始化:2)先声明后初始化.基本数据类型0.byte: ...

  7. 抽象方法为什么不能被private与static修饰

    private private访问修饰符修饰的方法只能在本类当中使用.所以,必然不能用private去修饰抽象方法.抽象方法一定是要被子类去重写的. static Java中用static修饰符修饰的 ...

  8. mysql目录迁移 更改mysql的存储目录

    元旦节刚过完回来,忙了一天,现在的时间剩余不是很充足,所以更新简短的文章一篇! 正文: 正常情况下mysql的存储目录都是在/var/lib/mysql/下的,那么怎么将存储位置改到/data_mys ...

  9. 关于javascript代码优化的8点建议

    前面的话 本文将详细介绍JS编程风格的几个要点 松耦合 当修改一个组件而不需要更改其他组件时,就做到了松耦合 1.将JS从CSS中抽离:不要使用CSS表达式 //不好的做法 .box{width: e ...

  10. css-翻页

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...