UNION和UNION ALL的SQL詳細用法

2021-08-21 08:22:09 字數 1776 閱讀 5851

在開發中,有些資料的儲存可能涉及到分庫分表,查詢的時候,可能需要查詢所有的分表,這個時候,就需要用到union或者union all,下面介紹一下union的用法以及與union all的區別:

union操作符用於合併兩個或多個select語句的結果集,這裡需要注意的是:union內部的select語句必須擁有相同數量的

列,列也必須擁有相似的資料型別,同時,每條select語句中列的順序必須相同。

union語法:

select column_name(s)

from table_name1

union

select column_name(s)

from table_name2

union操作符合併的結果集,不會允許重複值,如果允許有重複值的話,使用union all.

union all語法:

select column_name(s)

from table_name1

union all

select column_name(s)

from table_name2

union結果集中的列名總等於union中第乙個select語句中的列名。

這裡我就不舉例子說明,重點總結下我在專案開發中遇到的問題:1、由於需要合併十個select語句,寫法上需要用到sql中;.2、在寫sql語句是,用到了order by,要用括號區分開,要不會報錯。

sql語句寫法:

<

select

id= "getfourteenhotpost" parametertype=

"map" resultmap=

"productcommentsinfoandroid">

select t.comments_id,t.product_id,t.comment,t.order_path

from (

"tablenames" item=

"item" separator=

"union all">

(select c.comments_id,c.product_id,c.comment,i.order_path,c.p_index,c.t_index,c.title,c.time

from $

as c

left

join

`gshop_comments_img`

as i

on c.comments_id = i.comments_id

where c.object_type=

2and c.display=

1and c.is_show=

1and c.t_index=

1group

by c.product_id

order

by c.p_index

asc,c.t_index

desc,c.title

desc,c.time

desc

limit

14)

) tgroup

by t.product_id

order

by t.p_index

asc,t.t_index

desc,t.title

desc,t.time

desc

limit

14

UNION 和UNION ALL 的區別

在資料庫中,union 和union all 關鍵字都是將兩個結果集合並為乙個,但這兩者從使用和效率上來說都有所不同。union 在進行表鏈結後會篩選掉重複的記錄,所以在表鏈結後會對所產生的結果集進行排序運算,刪除重複的記錄再返回結果。實際大部分應用中是不會產生重複的記錄,最常見的是過程表與歷史表 ...

UNION和UNION ALL的區別

關鍵字 union 和union all 的區別 出處 在資料庫中,union和union all關鍵字都是將兩個結果集合並為乙個,但這兩者從使用和效率上來說都有所不同。union在進行表鏈結後會篩選掉重複的記錄,所以在表鏈結後會對所產生的結果集進行排序運算,刪除重複的記錄再返回結果。實際大部分應用...

UNION 和UNION ALL 的區別

在資料庫中,union 和union all 關鍵字都是將兩個結果集合並為乙個,但這兩者從使用和效率上來說都有所不同。union 在進行表鏈結後會篩選掉重複的記錄,所以在表鏈結後會對所產生的結果集進行排序運算,刪除重複的記錄再返回結果。實際大部分應用中是不會產生重複的記錄,最常見的是過程表與歷史表 ...