有的时候选择的数据不是来自一个表。而是来自多个数据表,这就需要多表连接查询。
SQL99连接查询
交叉连接(cross join):就是SQL92中的广义笛卡儿积
自然连接(natural join)自然连接是一两个表中的同名列作为连接条件
using子句连接:using子句可以指定一列或者多列,用于显示指定两个表中的同名列作为连接条件
on子句连接:这是最常用的连接方式
左、右、全外连接
left[outer] join 左外连接
right[outer] join 右外连接
inner[outer] join 内连接
full [outer]join 全连接
这三种连接的连接条件都是通过on子句来决定的
进行总结的话就是
a left[outer] join b on …
是a表为基础,找出b与a不同的元素,没有就是null
a right[outer] join b on…
这个时候就是一b表为基础,找出a中与b不同的元素,没有就是null
内连接是什么
就是把a中与b中相符的元素列出来
全连接
就是把a中b中的元素全部列出来,如果a中有b中没有,就把b中补null,如果b中有a中没有,就把a中补null。
无论是左连接、右连接、内连接、全连接都属于外连接。