Oracle笛卡尔积与连接查询

来源:互联网 发布:java退格 编辑:程序博客网 时间:2024/05/19 02:21

一、外连接

左外连接
左表字段的全部记录显示,右表显示条件限定的字段记录,非条件限定的显示null。(可以加WHERE限定)

SELECT * FROM  DEPT d1 LEFT JOIN EMP d2 ON d1.deptno = d2.deptno;
SELECT * FROM  DEPT d1 LEFT JOIN EMP d2 ON d1.deptno = d2.deptno WHERE d2.deptno=3;

左表显示全部,右表显示3的字段和ON条件字段。

右外连接
与左外连接正好相反

SELECT * FROM  DEPT d1 RIGHT JOIN EMP d2 ON d1.deptno = d2.deptno;

二、内连接
inner join或者直接用join,必须加on过滤,可以加WHERE

SELECT * FROM  DEPT d1 INNER JOIN EMP d2 ON d1.deptno = d2.deptno;

三、关联关系

交叉连接–cross join类似于笛卡尔积

SELECT * FROM DEPT d1 CROSS JOIN EMP d2;

四、自然连接
natural join
自然连接是在两张表中寻找那些数据类型和列名都相同的字段,然后自动地将他们连接起来,并返回所有符合条件按的结果

SELECT * FROM DEPT d1 NATURAL JOIN EMP d2;
原创粉丝点击