Mysql8.0学习笔记(2)—— inner join,outer join,union

本文详细介绍了MySQL8.0中的联合查询操作,包括INNER JOIN(JOIN关键字)的基本用法,展示如何联合多个表以显示所需数据;OUTER JOIN(LEFT JOIN, RIGHT JOIN)的应用,确保即使没有匹配项也能显示所有记录;UNION操作的使用,用于合并不同查询结果。此外,还讨论了复合主键、SELF JOIN以及USING子句在联合查询中的角色。" 138842227,9882044,利用incontext learning微调chatGLM进行nlp任务,"['自然语言处理', '人工智能', '模型微调']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

inner join(join)关键字

用于将多个表联合显示出来
除了之前的customers表来表示客户,同样有一张order表示客户订单,如下:在这里插入图片描述

  • 以某一列为值联合
select * 
from orders
inner join customers 				//为内部联合,inner关键字可省略
	on orders.customer_id = customers.customer_id //只联合customer_id相等的数据
  • 联合数据库中的其它表
select order_id, o.customer_id,first_name,last_name	//对于两个都有的customer_id要指明主表
from orders o 	//令order简称为o
join customers  c//令customers简称为c			
	on o.customer_id = c.customer_id
  • 联合其它数据库中的表
select * 
from order_items oi
join sql_inventory.products p	//需要为不是当前数据库的表加上前缀,前缀为其他数据库别名
	on oi.product_id = p.product_id
  • 联合自身
    这种情况是为了一张表内关联数据的对比来显示,例如以下一张员工表
    在这里插入图片描述
    员工要向经理汇报(reports_to),而经理本身来说也是一名员工有自己的员工id,将每个员工向经理汇报的数据显示出来
select e.employee_id,e.first_name,m.first_name as manager
from employees e
join employees m			//注意不同别名
	on e.reports_to = m.employee_id
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值