Change Font Size

Change Screens

Change Profile

Change Layouts

Change Direction

Change Menu Styles

Cpanel
Salı, 02 Kasım 2010 22:46

UNION ALL Kullanımı

Yazan&Gönderen  Yusuf Arslan
Bu Öğeyi Derecelendir
(0 Oylar)

Oracle da birkaç tablo üzerinde birlestirme ya da fark alma islemleri yapilabilir. Bunun için UNION, INTERSECTION ve MINUS operatörleri kullanilir. Asagidaki örneklerde UNION operatörü ile birlestirilmistir sonuçlari görecegiz.

SELECT JOB_ID

FROM EMPLOYEE

WHERE DEPARTMENT_ID = 10

UNION ALL

SELECT JOB_ID

FROM EMPLOYEE

WHERE DEPARTMENT_ID = 20

Sorgu çalistiginda çikan sonucumuz

JOB

----------

MGR

TECH

HR

MGR

HR

Execution Plan

----------------------------------------------------------

0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=6 Card=4 Bytes=40)

1 0 UNION-ALL

2 1 TABLE ACCESS (FULL) OF 'EMPLOYEE' (TABLE) (Cost=3 Card=2

Bytes=20)

3 1 TABLE ACCESS (FULL) OF 'EMPLOYEE' (TABLE) (Cost=3 Card=2

Bytes=20)

 

SELECT JOB_ID

FROM EMPLOYEE

WHERE DEPARTMENT_ID = 10

UNION

SELECT JOB_ID

FROM EMPLOYEE

WHERE DEPARTMENT_ID = 20

 

 

JOB

----------

HR

MGR

TECH

 

 

Execution Plan

----------------------------------------------------------

0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=8 Card=4 Bytes=40)

1 0 SORT (UNIQUE) (Cost=8 Card=4 Bytes=40)

2 1 UNION-ALL

3 2 TABLE ACCESS (FULL) OF 'EMPLOYEE' (TABLE) (Cost=3 Card

=2 Bytes=20)

 

4 2 TABLE ACCESS (FULL) OF 'EMPLOYEE' (TABLE) (Cost=3 Card

=2 Bytes=20)

 

SELECT DEPARTMENT_ID, JOB_ID

FROM EMPLOYEE

WHERE DEPARTMENT_ID = 10

UNION ALL

SELECT DEPARTMENT_ID, JOB_ID

FROM EMPLOYEE

WHERE DEPARTMENT_ID = 20

ORDER BY 1

 

DEP JOB_ID

---------- ----------

10 TECH

10 MGR

20 MGR

20 HR

20 HR

 

 

Execution Plan

----------------------------------------------------------

0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=7 Card=4 Bytes=40)

1 0 SORT (ORDER BY) (Cost=6 Card=4 Bytes=40)

2 1 UNION-ALL

3 2 TABLE ACCESS (FULL) OF 'EMPLOYEE' (TABLE) (Cost=3 Card

=2 Bytes=20)

 

4 2 TABLE ACCESS (FULL) OF 'EMPLOYEE' (TABLE) (Cost=3 Card

=2 Bytes=20)

Son Düzenleme Perşembe, 09 Aralık 2010 08:39
Yusuf Arslan

Yusuf Arslan

Oracle Open Source

Tokat/Reşadiye doğumluyum.İlk-orta-lise hayatını Amasya/Suluova ilçesinde geçirdim.Sakarya Üniversitesi Bilgisayar Mühendisliği bölümünü bitirdikten sonra kariyerime Oracle,SAP alanlarında danışmanlık vermek üzere devam etmekteyim. Kullandığım,bildiğim teknolojiler ve diller; SAP BO Oracle BI Applications Oracle Data Mining Oracle BI Reports(http://www.iski.gov.tr/web/statik.aspx?KID=1000717) Oracle Data Integrator Oracle BI Publisher(XML Publisher) Oracle Database 10g Oracle Mapviewer PL/SQL,Java,Oracle JDeveloper,Oracle Forms-Reports,C# Data warehouse process optimization Database system implementation Using encoding for security systems Software development, test and deployment Presentation and communication skills Bu adreslerden de bana ulaşabilirsiniz, [email protected] https://datawarehouse.gen.tr/ http://www.arslanyusuf.blogspot.com/ http://yusufarslaneng.blogspot.com/ http://twitter.com/yusars http://tr.linkedin.com/pub/yusuf-arslan/27/35b/57b

Website: arslanyusuf.blogspot.com/ E-posta: Bu e-Posta adresi istek dışı postalardan korunmaktadır, görüntülüyebilmek için JavaScript etkinleştirilmelidir

2 Yorumlar

  • Yorum Bağlantısı Savaş KülahCumartesi, 20 Kasım 2010 11:28 Gönderen Savaş Külah

    Selamlar,

    UNION ile UNION ALL arasındaki farkı söylemek gerekirse: UNION kullanıldığında sorgu otomatik DISTINCT ve ORDER BY yapar.

    Saygıyla,

  • Yorum Bağlantısı Yusuf ArslanPerşembe, 09 Aralık 2010 13:37 Gönderen Yusuf Arslan

    Evet Savaş kısa yoldan özetlemişsin..

Yorum yaz

Yorumlarınızı aşağıdaki alana belirtebilirsiniz.

You are here Kategoriler ORACLE UNION ALL Kullanımı