儘管可以在與資料庫互動時一次只處理一行資料,但實際上關聯式資料庫通常處理的都是資料的集合。在數學上常用的集合操作為:並(union),交(intersect),差(except)。對於集合運算必須滿足下面兩個要求:
sql語言中每個集合操作符包含兩種修飾:乙個包含重複項,另乙個去除了重複項(但不一定去除了所有重複項)。
0.union操作符
union和union all操作符可以連線多個資料集,區別是前者去除重複項,後者保留。對於資料庫而言,union all操作更加迅速,因為資料庫不需要檢查資料的重複性。對於連個表
執行操作後的結果為:
其中,18個資料來自與individual表,8個來自於business。為了更清楚的看到區別,看下面兩個例項:
select結果為a.cust_id, a.name
from
business a
uinon
allselect
b.cust_id, b.name
from business b;
而
select結果為a.cust_id, a.name
from
business a
union
select
b.cust_id, b.name
from business b;
可以很明顯看出區別。
1.intersect和except操作符
我用的mysql版本似乎沒有實現這兩個功能。:(
SQL語句 操作集合
保留小數字數 select cast 列名as 數值型別,如decimal,numeric等 長度,小數點後位數 列名 from 表名 例 select cast sid as decimal 18,2 sid from user case 用法 單條件 select case xx when nu...
SQL 結果集合操作
為了配合測試,特地建了兩個表,並且新增了一些測試資料,其中重覆記錄為東吳的人物。表 person 1魏國人物 表 person 2蜀國人物 a union形成並集 union可以對兩個或多個結果集進行連線,形成 並集 子結果集所有的記錄組合在一起形成新的結果集。1 限定條件 要是用union來連線結...
Oracle之集合操作
在oracle中提供了三種型別集合操作 並 union 交 intersect 差 minus 先建立乙個表 create table emp20 as select from emp where deptno 20 1.驗證union 是返回兩個集合的所有的內容,但不包含重複的內容 select ...