SQL什么时候用左连接,什么时候用右连接,什么时候用内连接?

如题所述

你首先是要搞清楚外连接和内连接的概念之后就很容易进行判断了,你要将两个表匹配的记录都选取出来 那么就是内连接, 你要将除了两表匹配之外还需要其中某一个表不匹配的记录,那么就用外连接,是左还是右 取决于那个表是放在左边还是右边。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-08-22
这样记就好了。(+)在哪边,哪边就可有可无。
就是说没有+那边的一定如数显示,有+那边没连接到就会显示为空。
emp(员工表)有empno,deptno; dept(部门表)有deptno,dept_desc
比如,select * from emp a,dept b where a.deptno=b.deptno(+);
员工表有多少记录就显示多少,只是连接部门时,部门表没有这个部门,部门描述就会为null.本回答被网友采纳
第2个回答  2011-09-01
左边表中的数据全部都要,右边表中的数据只要与左边关连的用左连接
反之则用右连接
第3个回答  2011-08-23
INNER JOIN操作用于组合两个表中的记录,只要在公共字段之中有相符的值。可以在任何的 FROM 子句中使用 INNER JOIN 运算。这是最普通的联接类型。只要在这两个表的公共字段之中有相符值,内部联接将组合两个表中的记录。

LEFT JOIN操作用于在任何的 FROM 子句中,组合来源表的记录。使用 LEFT JOIN 运算来创建一个左边外部联接。左边外部联接将包含了从第一个(左边)开始的两个表中的全部记录,即使在第二个(右边)表中并没有相符值的记录。

RIGHT JOIN操作用于在任何的 FROM 子句中,组合来源表的记录。使用 RIGHT JOIN 运算创建一个右边外部联接。右边外部联接将包含了从第二个(右边)开始的两个表中的全部记录,即使在第一个(左边)表中并没有匹配值的记录。

交叉连接--你是不是指的是笛卡儿乘积,这个好像没有对应操作符
相似回答