SQL1999语法标准 CROSS JOIN 产生笛卡尔积 SELECT * from EMP CROSS JOIN dept; NATURAL JOIN 自然连接 相同列 SELECT * from EMP NATURAL JOIN dept; JOIN USING(deptno)添加关联字段 SELECT * from EMP JOIN dept USING(deptno); 设置关联条件 SELECT * from EMP e JOIN salgrade s ON(e.sal between s.losal AND s.hisal); 外连接 左外连接 SELECT * FROM emp LEFT OUTER JOIN dept USING(deptno); 右外连接 SELECT * FROM emp RIGHT OUTER JOIN dept USING(deptno); 全外连接 SELECT * FROM emp FULL OUTER JOIN dept USING(deptno);
UNION 将结果集合并,重复数据不显示(只显示一次) SELECT empno,ename,job FROM emp WHERE deptno = 10 UNION SELECT empno,ename,job FROM emp UNION ALL 将结果集合并,所有重复数据显示 SELECT empno,ename,job FROM emp WHERE deptno = 10 UNION ALL SELECT empno,ename,job FROM emp INTERSECT 得到相同数据 交集 SELECT empno,ename,job FROM emp WHERE deptno = 10 INTERSECT SELECT empno,ename,job FROM emp; MINUS 第一个集合减去第二集合 差集合 SELECT empno,ename,job FROM emp INTERSECT SELECT empno,ename,job FROM emp WHERE deptno = 10;