UNION
සහ අතර ඇති වෙනස UNION ALL
කුමක්ද?
UNION
සහ අතර ඇති වෙනස UNION ALL
කුමක්ද?
Answers:
UNION
අනුපිටපත් ඉවත් කරයි (ප්රති results ලවල ඇති සියලුම තීරු එක හා සමානයි), UNION ALL
එසේ නොවේ.
දත්ත සමුදා සේවාදායකයා අනුපිටපත් පේළි ඉවත් කිරීම සඳහා අමතර වැඩක් කළ යුතු නමුත් UNION
ඒ වෙනුවට භාවිතා කිරීමේදී කාර්ය සාධන පහරක් UNION ALL
ඇත, නමුත් සාමාන්යයෙන් ඔබට අනුපිටපත් අවශ්ය නොවේ (විශේෂයෙන් වාර්තා සංවර්ධනය කිරීමේදී).
SELECT 'foo' AS bar UNION SELECT 'foo' AS bar
ප්රති ult ලය:
+-----+
| bar |
+-----+
| foo |
+-----+
1 row in set (0.00 sec)
SELECT 'foo' AS bar UNION ALL SELECT 'foo' AS bar
ප්රති ult ලය:
+-----+
| bar |
+-----+
| foo |
| foo |
+-----+
2 rows in set (0.00 sec)
UNION සහ UNION යන දෙකම එකිනෙකට වෙනස් SQL දෙකක ප්රති result ල සමඟ සංයුක්ත වේ. ඒවා අනුපිටපත් හැසිරවීමේ ක්රමයට වෙනස් වේ.
ඕනෑම අනුපිටපත් පේළි ඉවත් කරමින් UNION ප්රති result ල කට්ටලය මත DISTINCT සිදු කරයි.
UNION ALL අනුපිටපත් ඉවත් නොකරන අතර එම නිසා එය UNION ට වඩා වේගවත් වේ.
සටහන: මෙම විධානයන් භාවිතා කරන අතරතුර තෝරාගත් සියලුම තීරු එකම දත්ත වර්ගයට අයත් විය යුතුය.
උදාහරණය: අපට වගු දෙකක් තිබේ නම්, 1) සේවකයා සහ 2) පාරිභෝගිකයා
UNION
අනුපිටපත් ඉවත් කරයි, නමුත් UNION ALL
එසේ නොවේ.
ඉවත් කිරීම සඳහා එහි ප්රතිඵලයක් කට්ටලයක් යථාර්ථය තේරුම් ගත යුතු අතර, මෙම අනුපිටපත් හැක හිඳගෙන, ලබන දත්ත ප්රමාණය අනුව, වෘත්තීය සමිති කාර්ය සාධනය, සහ විවිධ RDBMS පරාමිතීන් (ඔරකල් සඳහා වන සැකසුම් මත බලපෑමක් ඇති PGA_AGGREGATE_TARGET
සමඟ WORKAREA_SIZE_POLICY=AUTO
හෝ SORT_AREA_SIZE
හා SOR_AREA_RETAINED_SIZE
නම් WORKAREA_SIZE_POLICY=MANUAL
).
මූලික වශයෙන්, වර්ග කිරීම මතකයේ ක්රියාත්මක කළ හැකි නම් වේගවත් වේ, නමුත් දත්ත පරිමාව පිළිබඳ එකම අවවාදය අදාළ වේ.
ඇත්ත වශයෙන්ම, ඔබට අනුපිටපත් නොමැතිව දත්ත ආපසු ලබා දීමට අවශ්ය නම්, ඔබේ දත්තවල ප්රභවය මත පදනම්ව ඔබ UNION භාවිතා කළ යුතුය .
"අඩු කාර්ය සාධනයක් ඇති" අදහස් දැක්වීම සඳහා සුදුසුකම් ලැබීමට මම පළමු පෝස්ටයට අදහස් දැක්වීමට ඉඩ තිබුනද, එසේ කිරීමට ප්රමාණවත් කීර්තියක් (ලකුණු) නොමැත.
ORACLE හි: UNION BLOB (හෝ CLOB) තීරු වර්ග සඳහා සහය නොදක්වයි, UNION ALL සහාය දක්වයි.
UNION සහ UNION ALL අතර ඇති මූලික වෙනස වන්නේ වෘත්තීය සමිති ක්රියාකාරිත්වය නම් අනුපිටපත් පේළි ප්රති result ල කට්ටලයෙන් ඉවත් කිරීමයි. නමුත් යුනියන් සියල්ලම සම්බන්ධ වූ පසු සියලු පේළි ලබා දෙයි.
http://zengin.wordpress.com/2007/07/31/union-vs-union-all/ වෙතින්
ඔබට අනුපිටපත් වළක්වා ගත හැකි අතර තවමත් UNION DISTINCT (ඇත්ත වශයෙන්ම එය UNION හා සමාන වේ) ට වඩා වේගයෙන් ධාවනය කළ හැකිය.
SELECT * FROM mytable WHERE a=X UNION ALL SELECT * FROM mytable WHERE b=Y AND a!=X
මේ tag AND a!=X
කොටසක්. මෙය UNION පසුව වඩා වේගවත් වේ.
UNION
- UNION
ඔබගේ ප්රවේශය නැහැ බැවින්ද, මෙම subqueries විසින් ලබා ඇති බව අනුපිටපත් ඉවත් කරයි.
මෙහි ඇති සාකච්ඡාවට මගේ ශත දෙක එකතු කිරීම සඳහා: යමෙකුට UNION
ක්රියාකරු පිරිසිදු, SET- නැඹුරු UNION ලෙස වටහා ගත හැකිය - උදා: A = {2,4,6,8 set, B = {1,2,3,4 සකසන්න. }, A UNION B = {1,2,3,4,6,8}
කට්ටල සමඟ කටයුතු කරන විට, ඔබ, අංක 2 සහ 4 දෙවරක් පෙනී අවශ්ය නොවන අංගයක් හෝ ලෙස බව ය හෝ නොවේ මාලාවක් දී.
SQL ලෝකයේ, ඔබට කට්ටල දෙකේ සියලුම අංග එක් "බෑගයක" {2,4,6,8,1,2,3,4 see එකට දැකීමට අවශ්ය විය හැකිය. මේ සඳහා T-SQL ක්රියාකරුට ඉදිරිපත් කරයි UNION ALL
.
UNION ALL
T-SQL විසින් "පිරිනමනු නොලැබේ". UNION ALL
එය ANSI SQL ප්රමිතියේ කොටසක් වන අතර MS SQL සේවාදායකයට විශේෂිත නොවේ.
සංගමය
මෙම UNION
විධානය බොහෝ දුරට සමාන, වගු දෙකක් සම්බන්ධ තොරතුරු තෝරා ගැනීමට භාවිතා වේ JOIN
විධාන. කෙසේ වෙතත්, UNION
විධානය භාවිතා කරන විට තෝරාගත් සියලුම තීරු එකම දත්ත වර්ගයට අයත් විය යුතුය. සමඟ UNION
, තෝරාගෙන ඇත්තේ වෙනස් අගයන් පමණි.
UNION ALL
මෙම UNION ALL
විධානය සමාන වේ UNION
හැර, විධාන UNION ALL
සියලු වටිනාකම් තෝරා.
අතර වෙනස Union
හා Union all
බවයි Union all
අනුපිටපත් පේළි ඉවත් නැහැ, ඒ වෙනුවට එය හුදෙක් ඔබගේ විමසුමට සුවිශේෂත්වයන් සරිලන සියලු මේස සියලු පේළි සිපර් සහ මේසයක් බවට එළඹේ.
UNION
ප්රකාශයක් මඟින් SELECT DISTINCT
සකසන ලද ප්රති results ල effectively ලදායී ලෙස සිදු කරයි . ආපසු ලබා දුන් සියලුම වාර්තා ඔබේ සංගමයෙන් අද්විතීය බව ඔබ දන්නේ නම්, UNION ALL
ඒ වෙනුවට භාවිතා කරන්න, එය වේගවත් ප්රති .ල ලබා දෙයි.
කුමන දත්ත සමුදායද යන්න වැදගත් යැයි විශ්වාස නැත
UNION
සහ UNION ALL
සියලු SQL සේවාදායකයන් මත ක්රියා කළ යුතුය.
අනවශ්ය UNION
ඒවායින් ඔබ වැළකී සිටිය යුතුය . මාපට ඇඟිල්ල භාවිතා කිරීමේ රීතියක් ලෙස UNION ALL
ඔබ භාවිතා කළ යුත්තේ කුමක්දැයි විශ්වාස නැත්නම්.
UNION - ප්රති results ල එකිනෙකට වෙනස් වාර්තා වන
අතර
UNION ALL - අනුපිටපත් ඇතුළු සියලුම වාර්තා වල ප්රති results ල ලබා දේ.
දෙදෙනාම ක්රියාකරුවන් අවහිර කරන අතර එබැවින් මම ඕනෑම වේලාවක අවහිර කිරීමේ ක්රියාකරුවන්ට (UNION, INTERSECT, UNION ALL ආදිය) JOINS භාවිතා කිරීමට කැමැත්තෙමි.
යුනියන් ඕල් චෙක්පත්වලට සාපේක්ෂව යූනියන් මෙහෙයුම දුර්වල ලෙස ක්රියා කරන්නේ ඇයිද යන්න පැහැදිලි කිරීම සඳහා පහත උදාහරණය.
CREATE TABLE #T1 (data VARCHAR(10))
INSERT INTO #T1
SELECT 'abc'
UNION ALL
SELECT 'bcd'
UNION ALL
SELECT 'cde'
UNION ALL
SELECT 'def'
UNION ALL
SELECT 'efg'
CREATE TABLE #T2 (data VARCHAR(10))
INSERT INTO #T2
SELECT 'abc'
UNION ALL
SELECT 'cde'
UNION ALL
SELECT 'efg'
UNION ALL සහ UNION මෙහෙයුම් වල ප්රති results ල පහත දැක්වේ.
යූනියන් ප්රකාශයක් මඟින් සකසා ඇති ප්රති results ල පිළිබඳ තේරීමක් කරයි. ආපසු ලබා දුන් සියලුම වාර්තා ඔබේ සංගමයෙන් අද්විතීය බව ඔබ දන්නේ නම්, ඒ වෙනුවට UNION ALL භාවිතා කරන්න, එය වේගවත් ප්රති .ල ලබා දෙයි.
UNION භාවිතා කිරීමෙන් ක්රියාත්මක කිරීමේ සැලැස්මේ සුවිශේෂී වර්ගීකරණ මෙහෙයුම් සිදු වේ. මෙම ප්රකාශය සනාථ කිරීම සඳහා සාධනය පහත දැක්වේ:
UNION
/ UNION ALL
).
union
වශයෙන් join
s හා සමහර අප්රසන්න සංයෝජන භාවිතා කිරීමෙන් case
ප්රති results ල ලබා ගත හැකිය , නමුත් එය විමසුම කියවීමට හා නඩත්තු කිරීමට අසමත් වන අතර මගේ අත්දැකීම් අනුව එය කාර්ය සාධනය සඳහා ද භයානක ය. සසඳන්න: select foo.bar from foo union select fizz.buzz from fizz
එරෙහිවselect case when foo.bar is null then fizz.buzz else foo.bar end from foo join fizz where foo.bar is null or fizz.buzz is null
වගු දෙකකින් වෙනස් අගයන් තෝරා ගැනීමට යුනියන් භාවිතා වන අතර වගු වලින් අනුපිටපත් ඇතුළු සියලු අගයන් තෝරා ගැනීමට යුනියන් ලෙස භාවිතා වේ
()
දෙවන වරට 'ඡේදනය වන ඉලිප්සාකාරය' පෙන්විය යුතුය. ඇත්ත වශයෙන්ම, දෙවන සිතුවිලි මත, ප්රති union all
result ලය කට්ටලයක් නොවන නිසා, ඔබ වෙන් රූප සටහනක් භාවිතයෙන් එය ඇඳීමට කිසිදු උත්සාහයක් නොගත යුතුය!
(මයික්රොසොෆ්ට් SQL සේවාදායක පොත් ඔන්ලයින් වෙතින්)
UNION [ALL]
බහු ප්රති result ල කට්ටල ඒකාබද්ධ කොට තනි ප්රති result ල කට්ටලයක් ලෙස ආපසු ලබා දිය යුතු බව නියම කරයි.
සියළු
ප්රති .ල වලට සියලු පේළි ඇතුළත් කරයි. මෙයට අනුපිටපත් ඇතුළත් වේ. නිශ්චිතව දක්වා නොමැති නම්, අනුපිටපත් පේළි ඉවත් කරනු ලැබේ.
UNION
ප්රති .ල මත අනුපිටපත් පේළි සොයා ගැනීම සඳහා බොහෝ කාලයක් ගතවනු ඇත DISTINCT
.
SELECT * FROM Table1
UNION
SELECT * FROM Table2
සමාන වේ:
SELECT DISTINCT * FROM (
SELECT * FROM Table1
UNION ALL
SELECT * FROM Table2) DT
ප්රති
DISTINCT
over ල මත අයදුම් කිරීමේ අතුරු ආබාධයක් වන්නේ ප්රති .ල මත වර්ග කිරීමේ මෙහෙයුමකි .
UNION ALL
ප්රති results ල අත්තනෝමතික අනුපිළිවෙලක් ලෙස පෙන්වනු ඇති නමුත් UNION
ප්රති results ORDER BY 1, 2, 3, ..., n (n = column number of Tables)
ල මත යොදන පරිදි ප්රති results ල පෙන්වනු ලැබේ . ඔබට අනුපිටපත් පේළියක් නොමැති විට ඔබට මෙම අතුරු ආබාධය දැකිය හැකිය.
මම උදාහරණයක් එකතු කරමි,
UNION , එය සැසඳිය යුතු නිසා එය වෙනස් -> මන්දගාමී වේ (ඔරකල් SQL සංවර්ධකයා තුළ, විමසුම තෝරන්න, පිරිවැය විශ්ලේෂණය බැලීමට F10 ඔබන්න).
UNION ALL , එය එකිනෙකට වෙනස් -> වේගයෙන් ඒකාබද්ධ වේ.
SELECT to_date(sysdate, 'yyyy-mm-dd') FROM dual
UNION
SELECT to_date(sysdate, 'yyyy-mm-dd') FROM dual;
සහ
SELECT to_date(sysdate, 'yyyy-mm-dd') FROM dual
UNION ALL
SELECT to_date(sysdate, 'yyyy-mm-dd') FROM dual;
UNION
ව්යුහාත්මකව අනුකූල වන වගු දෙකක අන්තර්ගතය තනි ඒකාබද්ධ වගුවකට ඒකාබද්ධ කරයි.
අතර වෙනස UNION
හා UNION ALL
බවයි UNION will
බැවින්ද පළමුෙවන් අනුපිටපත් වාර්තා UNION ALL
අනුපිටපත් වාර්තා ඇතුලත් වනු ඇත.
Union
ප්රති set ල කට්ටලය ආරෝහණ අනුපිළිවෙලට වර්ග කර ඇති අතර UNION ALL
ප්රති ult ල කට්ටලය වර්ග කර නොමැත
UNION
DISTINCT
එහි ප්රති ult ල කට්ටලය මත ක්රියා කරන අතර එමඟින් ඕනෑම අනුපිටපත් පේළි ඉවත් කරනු ඇත. එනමුත් UNION ALL
අනුපිටපත් ඉවත් නොකරන අතර එය වඩා වේගවත් වේ UNION
. *
සටහන : ඕනෑම අනුපිටපත් ඉවත් කිරීමේ අමතර වැඩක් කිරීමට සේවාදායකයාට අවශ්ය බැවින් කාර්ය සාධනය UNION ALL
සාමාන්යයෙන් වඩා හොඳ වනු ඇත . එබැවින්, කිසිදු අනුපිටපතක් නොපවතින බවට හෝ අනුපිටපත් තිබීම ගැටළුවක් නොවන අවස්ථාවන්හිදී, කාර්ය සාධන හේතූන් මත භාවිතය නිර්දේශ කරනු ලැබේ.UNION
UNION
UNION ALL
ORDER BY
ult ල කට්ටලය ආරෝහණ අනුපිළිවෙලට වර්ග කර ඇත" - නොමැති නම් , වර්ග කළ ප්රති results ල සහතික නොවේ. සමහර විට ඔබ සතුව විශේෂිත SQL වෙළෙන්දෙකුගේ මතකයේ තිබේ (එසේ වුවද, නඟින අනුපිළිවෙල හරියටම කුමක්ද ...?) නමුත් මෙම ප්රශ්නයට විකුණුම්කරු = විශේෂිත ටැග් නොමැත.
ඔබට ගුරුවරයා සහ ශිෂ්යයා මේස දෙකක් ඇතැයි සිතමු
ඇති දෙකම 4 විවිධ නම සමඟ තීරුව මේ වගේ
Teacher - ID(int), Name(varchar(50)), Address(varchar(50)), PositionID(varchar(50))
Student- ID(int), Name(varchar(50)), Email(varchar(50)), PositionID(int)
එකම තීරු ගණනක් ඇති වගු දෙක සඳහා ඔබට UNION හෝ UNION ALL අයදුම් කළ හැකිය. නමුත් ඔවුන්ට වෙනස් නමක් හෝ දත්ත වර්ගයක් ඇත.
ඔබ UNION
වගු 2 ක් මත ක්රියා කරන විට , එය සියලු අනුපිටපත් නොසලකා හරියි (වගුවක පේළියේ සියලුම තීරු අගය වෙනත් වගුවකට සමාන වේ). මෙවැනි
SELECT * FROM Student
UNION
SELECT * FROM Teacher
ප්රති result ලය වනු ඇත
ඔබ UNION ALL
වගු 2 ක් මත ක්රියා කරන විට , එය සියලු ඇතුළත් කිරීම් අනුපිටපත් සමඟ ආපසු ලබා දෙයි (වගු 2 ක පේළියක ඕනෑම තීරු අගයක් අතර වෙනසක් තිබේ නම්). මෙවැනි
SELECT * FROM Student
UNION ALL
SELECT * FROM Teacher
කාර්ය සාධනය:
පැහැදිලිවම යුනියන් සියලූම කාර්ය සාධන තිබීම වඩා යහපත් ය යුනියන් ඔවුන් අනුපිටපත් අගයන් ඉවත් කිරීමට අමතර කාර්ය ලෙස. ඔබ බව පරීක්ෂා කළ හැක කියාත්මක කාලය ඇස්තමේන්තු , මාධ්ය විසින් ctrl + L දී MSSQL
UNION
අභිප්රාය ප්රකාශ කිරීමට භාවිතා කිරීමට අවශ්ය වන අවස්ථාවක් (එනම් අනුපිටපත් නැත) මන්ද යත්, UNION ALL
සැබෑ ජීවිත කාර්ය සාධනයක් නිරපේක්ෂ ලෙස ලබා දීමට අපහසු බැවිනි .
ඉතා සරල වචන වලින් කිවහොත්, UNION සහ UNION ALL අතර වෙනස වන්නේ UNION විසින් අනුපිටපත් වාර්තා අතහැර දමනු ඇති අතර UNION සියල්ලටම අනුපිටපත් ඇතුළත් වේ.
තවත් එක් දෙයක් මම එකතු කිරීමට කැමතියි-
යූනියන් : - ප්රති set ල කට්ටලය ආරෝහණ අනුපිළිවෙලට වර්ග කර ඇත.
සියල්ල ඒකාබද්ධ කරන්න : - ප්රති set ල කට්ටලය වර්ග කර නොමැත. විමසුම් ප්රතිදානය දෙකක් එකතු වේ.
UNION
ඇත නොවේ ආකාරයක නියෝගය අවතීර්ණය ප්රතිඵලය. භාවිතයෙන් තොරව ප්රති result ලයක් ලෙස ඔබ දකින ඕනෑම ඇණවුමක් order by
පිරිසිදු අහඹු සිදුවීමකි. අනුපිටපත් ඉවත් කිරීම කාර්යක්ෂම යැයි සිතන ඕනෑම උපාය මාර්ගයක් භාවිතා කිරීමට ඩී.බී.එම්.එස්. මෙය වර්ග කිරීම විය හැකිය, නමුත් එය හැෂිං ඇල්ගොරිතමයක් හෝ සම්පූර්ණයෙන්ම වෙනස් දෙයක් විය හැකිය - තවද පේළි ගණන සමඟ උපාය වෙනස් වේ. ඒ union
බව පෙනෙන්නට පේළි 100 හිඳගෙන, 100,000 පේළි සමග විය නොහැකි විය
ORDER BY
වගන්තියක් එක් කරන්න .
යූනියන් එදිරිව යූනියන් අතර වෙනස වර්ග අඩි
SQL හි යුනියන් යනු කුමක්ද?
දත්ත කට්ටල දෙකක හෝ වැඩි ගණනක ප්රති result ල කට්ටලය ඒකාබද්ධ කිරීමට UNION ක්රියාකරු භාවිතා කරයි.
Each SELECT statement within UNION must have the same number of columns
The columns must also have similar data types
The columns in each SELECT statement must also be in the same order
වැදගත්! ඔරකල් සහ මිස්ක්ල් අතර වෙනස: t1 t2 අතර අනුපිටපත් පේළි නොමැති නමුත් ඒවාට තනි අනුපිටපත් ඇති බව කියමු. උදාහරණය: t1 හි විකුණුම් 2017 සිට සහ t2 2018 සිට ඇත
SELECT T1.YEAR, T1.PRODUCT FROM T1
UNION ALL
SELECT T2.YEAR, T2.PRODUCT FROM T2
ORACLE UNION හි සියලුම වගු වගු දෙකෙන්ම ලබා ගනී. MySQL හි ද එය සිදුවනු ඇත.
කෙසේවෙතත්:
SELECT T1.YEAR, T1.PRODUCT FROM T1
UNION
SELECT T2.YEAR, T2.PRODUCT FROM T2
දී ඔරැකල්හි , T1 සහ T2 අතර කිසිදු අනුපිටපත් වටිනාකම් නැති නිසා යුනියන් වගු දෙකම සියලු පේළි කොටු ගවුමට. අනෙක් අතට MySQL හි ප්රති set ලයට පේළි අඩු වනු ඇත, මන්ද t1 වගුව තුළ සහ t2 වගුව තුළ අනුපිටපත් පේළි ඇති බැවිනි!
UNION අනෙක් අතට අනුපිටපත් ඉවත් කරයි UNION ALL එසේ නොකරයි. නමුත් යමෙකු සැකසීමට යන දත්ත විශාල ප්රමාණයක් පරික්ෂා කර බැලිය යුතු අතර තීරුව සහ දත්ත වර්ගය සමාන විය යුතුය.
පේළි තෝරා ගැනීම සඳහා වෘත්තීය සමිතිය අභ්යන්තරව “වෙනස්” හැසිරීම් භාවිතා කරන බැවින් කාලය හා ක්රියාකාරිත්වය අනුව එය වඩා මිල අධික වේ. මෙන්
select project_id from t_project
union
select project_id from t_project_contact
මෙය මට වාර්තා 2020 ක් ලබා දෙයි
අනෙක් අතට
select project_id from t_project
union all
select project_id from t_project_contact
මට පේළි 17402 කට වඩා ලබා දෙයි
ප්රමුඛතා ඉදිරිදර්ශනය මත දෙකම එකම ප්රමුඛතාවයක් ඇත.
නොමැති නම් ORDER BY
, UNION ALL
පේළිය නැවත යන විට එය නැවත ගෙන එනු ඇත, නමුත් UNION
සම්පූර්ණ ප්රති result ලය එකවරම ලබා දීමට පෙර විමසුමේ අවසානය තෙක් ඔබ බලා සිටිනු ඇත. මෙය කල් ඉකුත් වූ තත්වයක වෙනසක් ඇති කළ හැකිය - aUNION ALL
සම්බන්ධතාවය සජීවීව තබා ගනී.
එබැවින් ඔබට කල් ඉකුත් වීමේ ගැටලුවක් තිබේ නම් සහ වර්ග කිරීමක් නොමැති නම් සහ අනුපිටපත් ගැටළුවක් නොවේ නම් UNION ALL
එය ප්රයෝජනවත් විය හැකිය.
විමසුම් ප්රති .ල දෙකක් හෝ වැඩි ගණනක් ඒකාබද්ධ කිරීමට UNION සහ UNION සියල්ලම භාවිතා කරයි.
UNION විධානය මඟින් වගු දෙකකින් පැහැදිලි හා අදාළ තොරතුරු තෝරා ගන්නා අතර එමඟින් අනුපිටපත් පේළි ඉවත් වේ.
අනෙක් අතට, UNION ALL විධානය මඟින් වගු දෙකෙන්ම සියලු අගයන් තෝරා ගන්නා අතර එය සියලු පේළි පෙන්වයි.
පුරුද්දක් ලෙස, සෑම විටම UNION ALL භාවිතා කරන්න . අතිශයින්ම අවුල් සහගත විය හැකි අනුපිටපත් ඉවත් කිරීමට අවශ්ය වූ විට විශේෂ අවස්ථා වලදී UNION පමණක් භාවිතා කරන්න. අනෙක් අදහස් වලින් ඔබට මෙහි කියවිය හැකිය.
UNION ALL
තවත් දත්ත වර්ග මත ද ක්රියා කරයි. උදාහරණයක් ලෙස අවකාශීය දත්ත වර්ග ඒකාබද්ධ කිරීමට උත්සාහ කරන විට. උදාහරණයක් වශයෙන්:
select a.SHAPE from tableA a
union
select b.SHAPE from tableB b
විසි කරනවා
The data type geometry cannot be used as an operand to the UNION, INTERSECT or EXCEPT operators because it is not comparable.
කෙසේ වෙතත් union all
එසේ නොවේ.
එකම වෙනස:
"UNION" අනුපිටපත් පේළි ඉවත් කරයි.
"UNION ALL" අනුපිටපත් පේළි ඉවත් නොකරයි.