mysql中内连接弊端_mysql中的连接

SQL join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。

join可以分为内连接和外连接,外连接分为左连接、右连接和全连接

现有两个表 员工表和部门表

员工表

f5d81be8630c293c96e83e7698321882.png

部门表

dc83a5445fb410973b80e3109bf190f7.png

1、内连接(包括相等连接和自然连接)

如:

SELECT * from employee,dept WHERE employee.deptid = dept.id;

或:

SELECT * from employee JOIN dept ON employee.deptid = dept.id; ##join和inner join是相同的

f1936db57e1ed42b30421b870573d046.png

2、Left join(LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。)

SELECT * from employee LEFT JOIN dept ON employee.deptid = dept.id;

20c1f0570cfc457b297d3654bcbab2cd.png

3、right join(RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。)

SELECT * from employee RIGHT JOIN dept ON employee.deptid = dept.id;

cb2f9941e634fbfb718d8300cba006d4.png

4、full join(FULL JOIN 关键字会从左表 (Persons) 和右表 (Orders) 那里返回所有的行。如果 "Persons" 中的行在表 "Orders" 中没有匹配,或者如果 "Orders" 中的行在表 "Persons" 中没有匹配,这些行同样会列出。),基本不会用到,mysql不支持

SELECT * from employee FULL join dept on employee.deptid = dept.id;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值