Oracle学习笔记(六)——多表查询
从多个表中取出数据,FROM后面取出多张数据表
语法结构:
SELECT [DISTINCT] * | 列名称 [别名],列名称 [别名],列名称 [别名]…(第三个执行,针对数据的筛选操作)
FROM 表名称 [别名],表名称 [别名](第一个执行,确定数据来源)
WHERE 过滤条件(s) (第二个执行,确定满足条件的数据行)
ORDER BY 字段 ASC(默认升序)/DESC(降序),ASC/DESC,…( 第四个执行,针对数据的排序操作,可以采用SELECT子句定义的别名)
范例:统计emp表中的数据量----14行记录
SELECT COUNT(*)
FROM emp;
范例:统计dept表中的数据量----4行记录
SELECT COUNT(*)
FROM dept;
笛卡尔积
SELECT *
FROM emp,dept;
SELECT *
FROM emp,dept
WHERE EMP.DEPTNO=DEPT.DEPTNO;
同样的列名称作为关联字段 多表查询性能很差(不适用于海量数据)
尽量避免多表查询 列访问时使用了表名称
如果表名称很长,建议使用别名。
SELECT *
FROM emp e,dept d
WHERE e.DEPTNO=d.DEPTNO;