模板:SQL多表查询

多表查询,一般通过JOIN关键字将表建立连接,再查询。

基本语法:

SELECT 显示的列    
FROM   1 1别名  -- 设置表别名,方便引用
JOIN   2 2别名 ON 连接条件     
...     --其他可选SELECT子句
分类 命令 描述
内连接 SELECT 字段名
FROM 左表
[INNER] JOIN 右表 ON 条件;
按条件取两表交集,INNER可以省略。
隐式内链接 SELECT 字段名
FROM 左表, 右表
WHERE 连接条件;
结果与内连接查询一样。
左外连接 SELECT 字段名
FROM 左表
LEFT [OUTER] JOIN 右表 ON 条件;
以左表为基准,左边所有数据,以及右表与左表有交集部分。对于左表有而右表没有的数据,右边显示NULL。OUTER可省略。
右外连接 SELECT 字段名
FROM 左表
RIGHT [OUTER ]JOIN 右表 ON 条件
以右表为基准,右边所有数据,以及左表与右表有交集部分。对于右表有而左表没有的数据,左边显示NULL。OUTER可省略。与左外连接相似,一般使用左外连接即可。
交叉连接查询 SELECT 字段名
FROM 表1, 表2;
交叉连接(Cross Join),左边全部行与右边的全部行组合,返回大量行,两表行数的乘积(笛卡尔积)。注意:使用这种一定要添加限制条件。