下图取自菜鸟教程,侵权删~
一、内连接:Inner Joins
模版:SELECT * FROM A JOIN B ON 条件
含义:返回A与B的交集,列为AB列之和
练习:将order_items表和products表连接,返回产品id和名字以及order_items表的数量和单价
二、自连接:Self Joins
下载sql_hr文件:
链接: https://pan.baidu.com/s/1Hw3szEtpq-bWKCByqMtL8A?pwd=kvup 提取码: kvup
自连接与内连接相似,只是两个表相同,⚠️别名不同。下图可以看到员工对应的管理员
三、多表连接(使用sql_store表)
练习:
下载文件(sql_invoicing):链接: https://pan.baidu.com/s/1GbVAbsoigKfl_1pPJJeuNA?pwd=6jt6 提取码: 6jt6
连接payments、payment_methods、clients,生成一份报告,显示付款和更多详细信息
三、复合连接条件
可以通过JOIN ON 加 AND 进行 多重条件筛选
四、外连接
筛选有订单的顾客
使用左连接,就会返回customer表中的数据,不管条件正确与否(LEFT JOIN = LEFT OUTER JOIN)
使用右连接,就会返回customer表中的数据,不管条件正确与否(RIGHT JOIN = RIGHT OUTER JOIN)
练习:写一段外连接,连接产品表和订单项目表,返回product_id、name、quantity
多表外链接
查看客户对应的订单id和销售员
课后练习:查看每笔账单的日期、id、顾客、售货员、状态
自外连接
查看员工与对应的管理人员(包括boss,注意:boss没有对应的管理人员)