MySQL多表查询的方案是什么
这篇“MySQL多表查询的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MySQL多表查询的方法是什么”文章吧。 多表查询案例 数据环境准备 create table salgrade( grade int, losal int, hisal int ) comment '薪资等级表'; insert into salgrade values (1,0,3000); insert into salgrade values (2,3001,5000); insert into salgrade values (3,5001,8000); insert into salgrade values (4,8001,10000); insert into salgrade values (5,10001,15000); insert into salgrade values (6,15001,20000); insert into salgrade values (7,20001,25000); insert into salgrade values (8,25001,30000); 在这个案例中,我们主要运用上面所讲解的多表查询的语法,完成以下的12个需求即可,而这里主要涉及到的表就三张:emp员工表、dept部门表、salgrade薪资等级表 。 查询员工的姓名、年龄、职位、部门信息 (隐式内连接) 表: emp , dept 连接条件: emp.dept_id = dept.id select e.name , e.age , e.job , d.name from emp e , dept d where e.dept_id = d.id; 查询年龄小于30岁的员工的姓名、年龄、职位、部门信息(显式内连接) 表: emp , dept 连接条件: emp.dept_id = dept.id select e.name , e.age , e.job , d.name from emp e inner join dept d on e.dept_id =d.id where e.age < 30; 查询拥有员工的部门ID、部门名称 表: emp , dept 连接条件: emp.dept_id = dept.id select distinct d.id , d.name from emp e , dept d where e.dept_id = d.id; 查询所有年龄大于40岁的员工, 及其归属的部门名称; 如果员工没有分配部门, 也需要展示出来(外连接) 表: emp , dept 连接条件: emp.dept_id = dept.id select e.*, d.name from emp e left join dept d on e.dept_id = d.id where e.age >40 ; 查询所有员工的工资等级 表: emp , salgrade 连接条件 : emp.salary >= salgrade.losal and emp.salary <= salgrade.hisal -- 方式一 select e.* , s.grade , s.losal, s.hisal from emp e , salgrade s where e.salary >= s.losal and e.salary <= s.hisal; -- 方式二 select e.* , s.grade , s.losal, s.hisal from emp e , salgrade s where e.salary between s.losal and s.hisal; 以上就是关于“MySQL多表查询的方法是什么”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助。 (编辑:银川站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |