连接:将一张表中的行按照某种条件和另一张表中的行连接起来形成一个新行的的过程。

根据连接查询返回的结果,分为3类:

  内连接(inner join)

  外连接(outer join)

  交叉连接(cross join)

其中外连接有分为两种:左外连接右外连接

下面演示一下三张表的连接过程:

先查询一下,每张表的数据

 select c_id 班级id,c_name 班级名称,teacher_id 班主任id from CLASS
select t_id 班主任id, t_name 班主任姓名 from teacher
select s_id 学生id, s_name 学生姓名, class_id 班级id from student

班级表数据如下:

班主任表数据如下:

学生表数据如下:

三张表交叉连接的sql语句如下:

select s_id 学生id, s_name 学生姓名, class_id 班级id, t_id 班主任id, t_name 班主任姓名, c_id 班级id,c_name 班级名称,teacher_id 班主任id
from student s join class c on s.class_id=c.c_id join teacher t on c.teacher_id=t.t_id

结果如下:

带条件查询:

例如查询s.class_id=2的数据

select s_id 学生id, s_name 学生姓名, class_id 班级id, t_id 班主任id, t_name 班主任姓名, c_id 班级id,c_name 班级名称,teacher_id 班主任id
from student s join class c on s.class_id=c.c_id join teacher t on c.teacher_id=t.t_id and s.class_id=2

带条件查询结果为:

多表查询今天先写到这里吧!改天继续写!

Oracle多表连接查询的更多相关文章

  1. oracle 多表连接查询 join(一)

    一.简介: 多表连接查询通过表之间的关联字段,一次查询多表数据. 下面将依次介绍 多表连接中的如下方法: 1.from a,b 2.inner join 3.left outer join 4.rig ...

  2. oracle 多表连接查询 join

    转 简介: 多表连接查询通过表之间的关联字段,一次查询多表数据. 下面将依次介绍 多表连接中的如下方法: 1.from a,b 2.inner join 3.left outer join 4.rig ...

  3. oracle 多表连接查询

    一.内连接(inner join (可简写为join)) 内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值. 1.等值连接:在连接条件中使用等于号(=)运算符比较被连接列的 ...

  4. oracle多表连接查询竟然还有这种操作

    仔细观察上面几个图,比较下 oracle数据库中的+操作符竟然可以替换left join 和right join sql server暂时没用到过

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

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

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

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

  7. Oracle多表连接,提高效率,性能优化 (转)

    执行路径:ORACLE的这个功能大大地提高了SQL的执行性能并节省了内存的使用:我们发现,单表数据的统计比多表统计的速度完全是两个概念.单表统计可能只要0.02秒,但是2张表联合统计就可能要几十表了. ...

  8. IBatis.Net 表连接查询(五)

    IBatis.Net之多表查询: 一.定制实际对应类的方式 首先配置多表的测试数据库,IBatis.Net之Oracle表连接查询配置: 首先新建两张表如下: 为两张表建立外键: ALTER TABL ...

  9. Mysql表连接查询

    原文地址: https://www.cnblogs.com/qiuqiuqiu/p/6442791.html 1.内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符).包括相等 ...

随机推荐

  1. JS中typeof和instanceof用法区别

    typeof和instanceof都可以用来判断变量 1.typeof用以获取一个变量或者表达式的类型,typeof一般只能返回如下几个结果: number,boolean,string,functi ...

  2. mysql存储过程 详细注释

    原文:https://my.oschina.net/u/3582142/blog/1581929

  3. yield next和yield* next的区别

    yield next和yield* next之间到底有什么区别?为什么需要yield* next?经常会有人提出这个问题.虽然我们在代码中会尽量避免使用yield* next以减少新用户的疑惑,但还是 ...

  4. 第十章:Python の 网络编程基础(二)

    本課主題 Python中的作用域补充 socketserver 源码 线程的介绍和操作实战 进程的介绍和操作实战 协程的介绍和操作实战 本周作业 Python中的作用域补充 Python世界里沒有块级 ...

  5. Windows数据库编程接口简介

    数据库是计算机中一种专门管理数据资源的系统,目前几乎所有软件都需要与数据库打交道(包括操作系统,比如Windows上的注册表其实也是一种数据库),有些软件更是以数据库为核心因此掌握数据库系统的使用方法 ...

  6. Android系统上如何实现easyconfig(airkiss)

    刚买回来一个智能音箱和博联,需要给音箱和博联配置联网,音箱需要先打开蓝牙,然后在手机app中填写wifi的ssid和密码,通过蓝牙发送到音箱,音箱收到后连接到wifi. 博联就比较奇怪,进入联网模式以 ...

  7. sso示例代码

    个人写的一个关于在ASP.NET 中如何实现SSO单点登录,这可能也是.NET实现大型互联网项目的第一步要解决的问题.已经放到GitHub上供大家参考.https://github.com/bidia ...

  8. Android之Bmob移动后端云服务器

    源码下载:http://download.csdn.net/download/jjhahage/10034519 PS:一般情况下,我们在写android程序的时候,想要实现登录注册功能,可以选择自己 ...

  9. 从Unity中的Attribute到AOP(三)

    上一篇我们对系统的Attributes进行了MSIL代码的查看,了解到了其本质就是一个类的构造函数.本章我们将编写自己的Attributes. 首先我们定义书的属性代码,如下: [AttributeU ...

  10. Adobe Acrobat pro生成PDF模版

    最近做了一个关于动态生成PDF合同的需求  java生成PDF 网络上随便一搜遍有了 不要用手动在代码里面输入合同中的文字这种方式 如这样的方式 http://blog.csdn.net/justin ...