-- 显示雇员名字、工资以及所在部门的名字
-- 在默认情况下,当两个表查询时,规则:
-- 1.从第一张表中,取出一行,与第二张表的每一条记录进行拼接
-- 2.总返回记录数:第一张表记录数 * 第二张表记录数
-- 3.这种返回结果称为 笛卡尔集
SELECT * FROM emp, dept
这样就出现了13*4=52
条记录数
-- 解决多表的关键就是写出正确的过滤条件 where
-- 这样deptno会重复
SELECT ename, mgr, sal, deptno
FROM emp, dept
WHERE emp.`deptno` = dept.`deptno`
-- 解决办法,指定 表.列名
SELECT ename, mgr, sal, emp.deptno
FROM emp, dept
WHERE emp.`deptno` = dept.`deptno`
-- 显示部门号为10的部门名、员工名和工资
SELECT dname, ename, sal, emp.`deptno`
FROM emp, dept
WHERE emp.`deptno` = dept.`deptno` AND emp.`deptno` = 10;
-- 显示各个员工的姓名,工资,及其工资的级别
-- 雇员表的工资在右边的工资范围之内
SELECT ename, sal, grade
FROM emp, salgrade
WHERE emp.`sal` BETWEEN salgrade.`losal` AND salgrade.`hisal`
标签:多表,sal,--,查询,dept,emp,deptno,SELECT
From: https://www.cnblogs.com/pureayu/p/17122386.html