orcal - 多表查询

Posted on 2019-04-20 21:59  jinyu-helloword  阅读(158)  评论(0)    收藏  举报
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;

 

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3