连接:将一张表中的行按照某种条件和另一张表中的行连接起来形成一个新行的的过程。
根据连接查询返回的结果,分为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 多表连接查询 join(一)
一.简介: 多表连接查询通过表之间的关联字段,一次查询多表数据. 下面将依次介绍 多表连接中的如下方法: 1.from a,b 2.inner join 3.left outer join 4.rig ...
oracle 多表连接查询 join
转 简介: 多表连接查询通过表之间的关联字段,一次查询多表数据. 下面将依次介绍 多表连接中的如下方法: 1.from a,b 2.inner join 3.left outer join 4.rig ...
oracle 多表连接查询
一.内连接(inner join (可简写为join)) 内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值. 1.等值连接:在连接条件中使用等于号(=)运算符比较被连接列的 ...
oracle多表连接查询竟然还有这种操作
仔细观察上面几个图,比较下 oracle数据库中的+操作符竟然可以替换left join 和right join sql server暂时没用到过
oracle(sql)基础篇系列(二)——多表连接查询、子查询、视图
多表连接查询 内连接(inner join) 目的:将多张表中能通过链接谓词或者链接运算符连接起来的数据查询出来. 等值连接(join...on(...=...)) --选出雇员的名字和雇员所 ...
oracle(sql)基础篇系列(二)——多表连接查询、子查询、视图
多表连接查询 内连接(inner join) 目的:将多张表中能通过链接谓词或者链接运算符连接起来的数据查询出来. 等值连接(join...on(...=...)) --选出雇员的名字和雇员所在的部门 ...
Oracle多表连接,提高效率,性能优化 (转)
执行路径:ORACLE的这个功能大大地提高了SQL的执行性能并节省了内存的使用:我们发现,单表数据的统计比多表统计的速度完全是两个概念.单表统计可能只要0.02秒,但是2张表联合统计就可能要几十表了. ...
IBatis.Net 表连接查询(五)
IBatis.Net之多表查询: 一.定制实际对应类的方式 首先配置多表的测试数据库,IBatis.Net之Oracle表连接查询配置: 首先新建两张表如下: 为两张表建立外键: ALTER TABL ...
Mysql表连接查询