MySQL知识点 | 多表链接——连接查询

通过对多个表中的数据同时进行查询获取结果

语法一

Select 列名 From1 Join2 On
[Join3 on3.列名=2.列名]
[Where 条件表达式];

案例
例题:查询选修了C1课程的学生姓名

Select 姓名 from SC Join S on SC.学号=S.学号
Where 课程号='C1';

注:若SC和S表中均有属性“姓名”,则需指定表名
格式: Select sc.姓名
或: Select s.姓名

语法二

Select 列名
From1,2,3
where1.列名=2.列名 and2.列名=3.列名

例:查询选修课成绩为80分的学生姓名和所在系。

Select 姓名,所在系
From  SC,S
Where SC.学号=S.学号 and 成绩=80

作业

1、查看YGGL数据库中Employees员工信息表、Departments部门信息表、Salary员工薪水情况表的数据信息。(确保数据和教材第102-103页表5-10员工信息表、表5-11员工薪水情况表、表5-12部门信息表中数据一致。)

Use YGGL
select*from Employees;
select*from 部门信息表;
select*from 员工薪水情况表;

在这里插入图片描述
在这里插入图片描述

2、完成教材第104页以下操作:

(1)查询“王林”的基本情况和所工作的部门名称

select*from  Employees Join 部门信息表 
on Employees.员工部门号=部门信息表.部门编号 where 姓名='王林';

在这里插入图片描述

select*from Employees,部门信息表 where Employees.员工部门号=部门信息表.部门编号 and 姓名='王林';

在这里插入图片描述

(2)查询每个雇员基本情况薪水情况

select*from Employees join 员工薪水情况表 on Employees.员工编号=员工薪水情况表.员工编号;

在这里插入图片描述

select*from Employees,员工薪水情况表 where 员工薪水情况表.员工编号=Employees.员工编号;

在这里插入图片描述

(3)查询“财务部”、“研发部”、“市场部”的员工信息。

select*from  Employees Join 部门信息表 
on Employees.员工部门号=部门信息表.部门编号 where 部门名称='财务部' or 部门名称='研发部' or 部门名称='市场部';

在这里插入图片描述

select*from Employees,部门信息表 where Employees.员工部门号=部门信息表.部门编号 and (部门名称='财务部' or 部门名称='研发部' or 部门名称='市场部');

在这里插入图片描述

(4)查询研发部在1970年以前出生的员工姓名薪水情况

select 姓名,收入,支出 from Employees 
join 员工薪水情况表 on Employees.员工编号=员工薪水情况表.员工编号
join 部门信息表 on Employees.员工部门号=部门信息表.部门编号
where 出生日期<'1970-1-1' and 部门名称='研发部';

在这里插入图片描述

select 姓名,员工薪水情况表.* 
from Employees,员工薪水情况表 ,部门信息表
where 员工薪水情况表.员工编号=Employees.员工编号
and  Employees.员工部门号=部门信息表.部门编号 
and 出生日期<'1970-1-1' and 部门名称='研发部';

在这里插入图片描述

(5)查询员工的姓名地址收入水平,要求2000元以下显示为“低收入”,2000元-3000元显示为“中等收入”,3000元以上时显示为“高收入”。

select 姓名,地址,收入,
case 
 	when 收入 <2000 then '低收入'
    when 收入 >=2000 and 收入 <=3000 then '中等收入'
 	when 收入 >3000 then'高收入'
 	end as '收入水平'
from Employees join 员工薪水情况表 on Employees.员工编号=员工薪水情况表.员工编号;

在这里插入图片描述

select 姓名,地址,收入,
case 
 	when 收入 <2000 then '低收入'
    when 收入 >=2000 and 收入 <=3000 then '中等收入'
 	when 收入 >3000 then'高收入'
 	end as '收入水平'
from Employees , 员工薪水情况表 where Employees.员工编号=员工薪水情况表.员工编号;

在这里插入图片描述

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萌狼蓝天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值