答:
SELECT * FROM A inner join B ON A.F1 = B.F1, 内连接,显示的查询结果,就是查询条件A 的必须等于B的数据;
SELECT * FROM A left join B ON A.F1 = B.F1 ,左连接,显示的查询结果,就是左边表的全部,和右边表的符合查询条件的数据。
SELECT * FROM A right join B ON A.F1 = B.F1 ,右连接,显示的查询结果,是右边表的全部,和左边表的符合查询条件的数据。
join = inner join;
left join = left outter join;
right join = right outter join;
full join = full outter join;
SELECT * FROM A full join B ON A.F1 = B.F1,全连接, 显示的查询结果,
eg:(来自:http://zhidao.baidu.com/question/113160374.html?fr=qrl&cid=74&index=4&fr2=query)
[TEST@ORA1] SQL>select * from a;
编号 姓名
---- ----------
1000 张三
2000 李四
3000 王五
[TEST@ORA1] SQL>select * from b;
编号 商品
---- ----------
1000 电视机
2000 录像机
4000 自行车
[TEST@ORA1] SQL>set null 空值--这里为了显示方面我把NULL定义成了[空值]
[TEST@ORA1] SQL>select a.*,b.* from a inner join b on a.编号=b.编号;
编号 姓名 编号 商品
---- ---------- ---- ----------
1000 张三 1000 电视机
2000 李四 2000 录像机
[TEST@ORA1] SQL>select a.*,b.* from a left join b on a.编号=b.编号;
编号 姓名 编号 商品
---- ---------- ---- ----------
1000 张三 1000 电视机
2000 李四 2000 录像机
3000 王五 空值 空值
[TEST@ORA1] SQL>select a.*,b.* from a right join b on a.编号=b.编号;
编号 姓名 编号 商品
---- ---------- ---- ----------
1000 张三 1000 电视机
2000 李四 2000 录像机
空值 空值 4000 自行车
[TEST@ORA1] SQL>select a.*,b.* from a full join b on a.编号=b.编号;
编号 姓名 编号 商品
---- ---------- ---- ----------
1000 张三 1000 电视机
2000 李四 2000 录像机
3000 王五 空值 空值
空值 空值 4000 自行车