SQL入门之多表查询

作者:分分快三全天计划网站

1.内连接

0.笛卡儿积

select e.fname, e.lname, d.name
from employee e join department d;

不光在同后生可畏查询中再三分包同二个表,还足以对表自己进行一而再三回九转。只须要取不一样别称就可以。

 

 

2.自连接

计算:对于一连操作方法非常好懂的,比较简单,对于接连几日来3个以上,连接子查询,不等连接等相仿。

对此二种规范,选用在于自身,有利有弊。

图片 1

发生108行数据,那是因为,对于独有运用join进行的是笛卡儿积运算。对于三个表,分别由m和n个元组,进行笛Carl积后将生出mXn个元组。但以此不是大家需求的结果,满含由许多无需的数目。若要获得不错的结果,则需求内一而再。

以上结果也可以用SQL92的正式开展操作

 

内连接依据相通属性值进行一连。只须要在地方的表中加上on和所必要卓绝的天性就能够。

select e.fname, e.lname, d.name
from employee e join department d
on e.dept_id = d.dept_id;

结果就是想要的。其实,在join前可加inner那是私下认可意况。但对于卓绝习于旧贯,应该加上,以指明那是怎么连接,那有利于代码阅读。对于on e.dept_id = d.dept_id可以用using(dept_id)来代替。

图片 2

select e.fname, e.lname, d.name
from employee e, department d
where e.dept_id = d.dept_id;

假设查询需求针对八个恐怕更多少个表,则在必要涉及到表的连年操作(join卡塔 尔(阿拉伯语:قطر‎。

最简便的三番五次形式是一向在from子句中步向四个表,何况用join操作符隔绝。方式为Table1 join Table2。上面是例证:

本文由分分快三计划发布,转载请注明来源

关键词: 分分快三计划