实验环境
window10专业版&&MySQL8.0
问题背景
课程项目需要用到将多个表进行连接,顺便复习一下MySQL中的连接操作
各种连接
a.内连接
内连接的结果是两个表的交集
内连接语句
select * from a inner join b on a.a_id = b.b_id;
b.左连接和右连接
左连接和右连接都是外连接
左连接全称左外连接(完整语句为left outer join,简写为left join)
右连接全称右外连接(完整语句为right outer join,简写为right join)
左连接的结果是左表的全部和右表符合搜索条件的记录
右连接的结果是右表的全部和左表符合搜索条件的记录
左右连接语句
//左连接
select * from a left join b on a.a_id = b.b_id;
//右连接
select * from a right join b on a.a_id = b.b_id;
实现五个表格的多表连接
根据属性特点先将两两连接,最后串起来
create table test1
select p3.*,aisles.aisle
from
(select p1.*,department,cold,exp,productname,aisleid,departmentid
from
(select new.*,orders1.hour from new left join orders1 on new.orderid=orders1.orderid) as p1
left join
(select products.*,dep.department,dep.cold,dep.exp from products left join dep on products.departmentid=dep.departmentid) as p2
on p1.productid=p2.productid)as p3
left join aisles on p3.aisleid=aisles.aisleid;