MySQL中的多表连接

MySQL中的多表连接

当查询的数据并不是来源一个表时,需要使用多表链接操作完成查询。根据不同表中的数据之间的关系查询相关联的数据。


一、语法结构


使用一个表在多个表中查询数据;
在这里插入图片描述

Where子句中写连接条件;


二、等值连接


等值连接也被称为简单连接 (simple joins) 或内连接 (inner joins)。是通过等号来判 断连接条件中的数据值是否相匹配。


查询雇员 King 所在的部门名称;

Select d.department_name from employees e , departments d where e.dept_id = 	d.department_id and e.last_name = ‘King’;

三、非等值连接


一个非等值连接是一种不使用相等(=)作为连接条件的查询。如!=、>、<、>=、<=、
BETWEEN AND 等都是非等值链接的条件判断;

一、创建 sal_level 表,包含 lowest_sal,highest_sal,level。

Create table sal_level(lowest_sal int , highest_sal int , level varchar(10));

二、插入数据
在这里插入图片描述

Insert into sal_level values(1000,2999,”A”);
Insert into sal_level values(2000,4999,”B”);
Insert into sal_level values(5000,7999,”C”);
Insert into sal_level values(8000,12000,”D”);

三、查询所有雇员的薪水级别。


Select e.last_name , s.level from employees e , sal_level s where e.salary 	between s.lowest_sal and highest_sal ;

四、自连接


使用一个表连接它自身的操作。

一、修改 employees 表,添加 manager_id 列;

Alter table employees add manager_id int;

二、修改数据 Oldlu 是 kevin 与 King 的经理;Taylor 是 Fox 的经理;

1.Update employees set manager_id = 1 where last_name = “King” or 	last_name = “Kevin”;
2.Update employees set manager_id = 3 where last_name = “Fox”;

三、查询每个雇员的经理的名字以及雇员的名字。

Select em.last_name , ew.last_name from employees ew , employees em where ew.manager_id = em.employees_id ;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值