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 ;

}

posted @   平凡的柳先生  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示