MySql连接之199语法
内连接
外连接
交叉连接
{语法:
select 查询列表
from 表一 别名【连接类型】
join 表二 别名
on 连接条件
where 筛选条件
group by 分组
having 筛选条件
order by esc或者desc
分类:
内连接:inner
外连接
左外:left【outer】
右外:right【outer】
全外:full【outer】
交叉连接:cross
#内连接
/*
语法
select 查询列表
from 表一 别名
ineer join 表二 别名
on 连接条件;
分类:
等值
非等值
自连接
特点:
添加排序、分组、筛选
inner可以省略
筛选条件放在where后面,连接条件放在on后面
*/
#1.等值连接
#案例一、查询员工名、部门名
select last_name,department_name
from employees e
inner join departments d
on e.department_id = d.department_id ;
#案例二、查询名字中包含e的员工名和工种名
select last_name,job_title
from employees e
inner join jobs j
on e.job_id = j.job_id
where e.last_name like '%e%' ;
#案例三、查询部门个数>3的城市名和部门个数
select city,count(*) 部门个数
from departments d
inner join locations l
on d.location_id = l.location_id
group by city
having count(*)>3 ;
#案例四、查询哪个部门的部门员工个数>3的部门数和员工个数,并按个数降序排列
select count(*),department_name
from employees e
inner join departments d
on e.department_id
group by department_name
having count(*)>3
order by count(*) desc ;
#二、非等值连接
#查询员工的工资级别
select salary,grade_level
from employees e
inner join job_grades j
on e.salary between j.lowest_sal and j.highest_sal ;
#三、自连接
#查询员工的名字、上级的名字
select e.last_name,m.last_name
from employees e
join employees m
on e.manageraa_id = m.employee_id ;
#四、外连接
应用场景:用于查询一个表中有,另一个表中没有的记录
特点:
1.外连接的查询结果为主表中的所有记录
如果从表中有和它匹配的,则显示匹配的值
如果从表中没有和它匹配的,则显示null
外连接查询结果 = 内连接
2.左外连接,left join左边的是主表
右外连接,right join右边是主表
3.左外和右外交换顺序可以实现同样的效果
#案例:查询男朋友不在男生表的女生,左外连接
select b.name,bo.*
from beauty b
left outer join boys bo
on b.boyfriend_id = bo.id
where bo.id is null ;
#案例1:哪个部门没有员工
select d.*,e.employee_id
from deaprtments d //departments是主表
left outer join employees e
on d.employee_id = e.department_id
where e.employee_id is null
右外的话 把left换成right,把employees和departments互换一下
#五、全外连接=内连接+表一有但表二没有+表二有但表一没有
ues girls;
select b.*,bo.*
from beauty b
full outer join boys bo
on b.boyfriend_id = bo,id ; //结果:将交集部分查出
#6.交叉连接 就是笛卡尔乘积
select b.*,bo.*
from beauty b
cross join boys bo ;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!