UNION ALL合表查询
生活随笔
收集整理的這篇文章主要介紹了
UNION ALL合表查询
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
有時(shí)候需要連表查詢數(shù)據(jù),可以使用union all來(lái)做合表。
語(yǔ)法:
SELECT column_name FROM table1
UNION ALL
SELECT column_name FROM table2
例如:
$sql = "select rg.* from (
SELECT g.goods_id, g.sort_order, g.goods_name, g.goods_number, g.suppliers_id, g.goods_name_style, g.market_price, g.shop_price ,
g.promote_start_date, g.promote_end_date, g.goods_brief, g.goods_thumb , g.goods_img,g.little_img ,g.team_num,g.team_price
FROM ". $GLOBALS['hhs']->table('goods') . " AS g ,".$GLOBALS['hhs']->table('suppliers')." AS s WHERE ".$where.
" UNION ALL SELECT g.goods_id, g.sort_order, g.goods_name, g.goods_number, g.suppliers_id, g.goods_name_style, g.market_price, g.shop_price ,
g.promote_start_date, g.promote_end_date, g.goods_brief, g.goods_thumb , g.goods_img,g.little_img ,g.team_num,g.team_price FROM ". $GLOBALS['hhs']->table('goods') ." AS g
WHERE ".$main_where.") AS rg ORDER BY rg.`".$sort."` $order " . $limit;
合表,一般常用的就是UNION ALL,也可以UNION,兩者區(qū)別:
1.Union All操作僅僅是簡(jiǎn)單的將兩個(gè)子查詢結(jié)果集直接求并操作,并不會(huì)剔除掉兩者結(jié)果集中重復(fù)的部分,
而Union操作除了會(huì)剔除掉結(jié)果集中重復(fù)的部分以外,還會(huì)對(duì)結(jié)果集進(jìn)行排序。
2.由于union執(zhí)行是先將某一子結(jié)果集進(jìn)行排序,然后再判斷是否有重復(fù)的數(shù)據(jù),若有則刪除掉重復(fù)的數(shù)據(jù),所以u(píng)nion的查詢效率要低于union all。
總結(jié)
以上是生活随笔為你收集整理的UNION ALL合表查询的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: angular js勾选双向交互功能
- 下一篇: 深入 K8s 网络原理(一)- Flan