SQL Union ve Union ALL

Bu komutlar birden fazla tabloyu birleştirmek için kullanılır.

SQL Union ve Union ALL

SQL Union ve Union All

Bu komutlar birden fazla tabloyu birleştirmek için kullanılır. Joinler ile karıştırılmamalıdır. Tablolar birleştirilirken tablolardaki alanlar aynı isimde değilse alanlar birbirine benzetilir.

OgrenciTanim Tablosu

Personel Tablosu

Örnek:

Öğrencileri ve personelleri bir listede gösterelim.

SELECT
  'Öğrenci' AS Tur,
  ad,
  soyad,
  ogrno,
  tel,
  0 AS maas,
  '' AS adresi
FROM OgrenciTanim

UNION ALL

SELECT
  'Personel' AS Tur,
  ad,
  soyadi AS soyad,
  '' AS ogrno,
  tel,
  maas,
  adresi
FROM Personel

Örnek 2:

Adı a harfi ile başlayan öğrenci ve personelleri listeleyelim.

Çözüm 1:

SELECT
  'Öğrenci' AS Tur,
  ad,
  soyad,
  ogrno,
  tel,
  0 AS maas,
  '' AS adresi
FROM OgrenciTanim
WHERE ad LIKE 'a%'

UNION ALL

SELECT
  'Personel' AS Tur,
  ad,
  soyadi AS soyad,
  '' AS ogrno,
  tel,
  maas,
  adresi
FROM Personel
WHERE ad LIKE 'a%'

Çözüm 2:

SELECT
*
FROM (SELECT
  'Öğrenci' AS Tur,
  ad,
  soyad,
  ogrno,
  tel,
  0 AS maas,
  '' AS adresi
FROM OgrenciTanim
UNION ALL

SELECT
  'Personel' AS Tur,
  ad,
  soyadi AS soyad,
  '' AS ogrno,
  tel,
  maas,
  adresi
FROM Personel) AS Rehber
WHERE ad LIKE 'a%'

Tepkiniz Nedir?

like

dislike

love

funny

angry

sad

wow