MySQL中JOIN的用法(简化明确版)

MySQL中JOIN的用法(简化明确版)

MySQL中涉及到多表连接的话,可以使用如下几种JOIN

1. ','逗号运算符
例如
SELECT * FROM table1,table2 WHERE where_condition

2. [CROSS | INNER] JOIN (交叉连接和内连接,结果都是产生笛卡尔积,但在标准SQL中两者
<wbr></wbr>是不同的,可以参看上篇介绍)
例如
SELECT * FROM table1 JOIN table2 ON table1.column_1=table2.column_2 WHERE table1.column_1='something'
或者
SELECT * FROM table1 AS a JOIN table2 AS b ON a.column_1=b.column_2 WHERE a.column_1='something'
或者
SELECT * FROM table1 JOIN table2 USING (column) WHERE table1.column='something ' (当被连接的两个表的连接列名称相同的话)

3. LEFT [OUTER] JOIN (或者RIGHT [OUTER] JOIN) (左外连接,或者右外连接)
例如
SELECT * FROM table1 LEFT JOIN table2 ON table1.column_1=table2.column_2 WHERE table1.column_1='something'
或者
SELECT * FROM table1 AS a LEFT JOIN table2 AS b ON a.column_1=b.column_2 WHERE a.column_1='something'
或者
SELECT * FROM table1 LEFT JOIN table2 USING (column) WHERE table1.column='something' (当被连接的两个表的连接列名称相同的话)


可以在后面指定连接条件
1. ON 之后跟连接条件,如果连接的列名称相同的话,可以使用USING
2. WHERE后指定限定条件,指定限制的列,例如:WHERE table1.column='hello'

涉及到多表查询的时候,可以考虑以上3中方式,然后使用EXPLA<wbr></wbr>IN查看MySQL处理这三种语句的搜索复杂度,从而采用更好的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值