首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL话语总结3之多表查询

2012-07-26 
SQL语句总结3之多表查询使用别名FROM tablename1 AS a, tablename2 AS b注意:ORACLE数据库不支持AS,直接后

SQL语句总结3之多表查询
使用别名FROM tablename1 AS a, tablename2 AS b
注意:ORACLE数据库不支持AS,直接后面加别名

内连接-INNER JOIN数据库默认的都是INNER JOIN,所以INNER可以省略

SELECT columnsFROM  table1 [INNER] JOIN table2ON condition_statement

说明:
1.condition可以是table1.column1=table2.column2,也是可以>或者<
2.condition中依然可以实用And, OR之类的操作符
3.内连接返回匹配的数据

外连接外连接分为左外连接,右外连接,全连接,使用 ** JOIN ON方式,当有LEFT等修饰的时候OUTER可以省略

1.左外连接-LEFT OUTER JOIN
左外部连接 = 内部连接 + 左边表中失配的元组
以左边的表为中心,左边的表记录一定要显示,右边现实匹配的数据,没有的话,就用NULL值补上

2.右外连接-RIGHT OUTER JOIN
右外部连接 = 内部连接 + 右边表中失配的元组

3.全外连接-FULL OUTER JOIN
全外部连接= 内部连接 + 左边表中失配的元组 + 右边表中失配的元组
这个相当于是左外连接+右外连接的并集

交叉连接-CROSS JOIN没有WHERE子句的交叉连接将产生连接所涉及的表的笛卡尔积
所以,以下表达式返回相同的结果。
SELECT  *  FROM  table1, table2
SELECT  *  FROM  table1  CROSS JOIN  table2
UNION运算符以及UNION JOIN1.UNION用来执行集合并运算
2.UNION JOIN的每行来自一个表的列值以及另外一张表的NULL值
3.SQL SERVER不支持UNOIN JOIN





热点排行