mysql 多表查询 join on_mysql多表查询
在做連表查詢的時(shí)候,可以在聯(lián)合的字段上面,分別加上索引字段,這樣有加快搜索的速度
左右連表查詢時(shí)條件放在on后面和where后面的執(zhí)行時(shí)機(jī)是不一樣的
例如
test1表
test2表
執(zhí)行
SELECT * FROM test1 t1 LEFT JOIN test2 t2
ON t1.no=t2.no AND t2.name='aaa';
結(jié)果為
SELECT * FROM test1 t1 LEFT JOIN test2 t2
ON t1.no=t2.no WHERE t2.name='aaa';
從這兩個(gè)查詢的結(jié)果集可以看出來(lái),on的條件是優(yōu)先于where的,第一個(gè)查詢是首先將t2表滿足條件的篩選出來(lái),然后用t1表左連過(guò)去,將t1表全部映射到t2上面,第二個(gè)查詢是,首先t1表和t2進(jìn)行左連查詢后,在將滿足的條件篩選出來(lái)
擴(kuò)展一下
SELECT * FROM test1 t1 LEFT JOIN test2 t2
ON t1.no=t2.no AND t1.name='zhou';
這個(gè)時(shí)候就會(huì)發(fā)現(xiàn),首先篩選出t1中name=zhou的信息,然后將整個(gè)t1表左連到t2,只不過(guò)將zhou的信息優(yōu)先放在第一條
右連效果同樣
SELECT * FROM test1 t1 RIGHT JOIN test2 t2
ON t1.no=t2.no AND t1.name='zhou';
SELECT * FROM test1 t1 RIGHT JOIN test2 t2
ON t1.no=t2.no AND t2.name='bbb';
總結(jié)
以上是生活随笔為你收集整理的mysql 多表查询 join on_mysql多表查询的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 笔记本电脑那个是删除键(笔记本电脑那个是
- 下一篇: mysql导入数据显示进度条_导入数据思