Bazen veritabanında birden fazla sütunda tuttuğumuz verileri birleştirmek ve o şekilde kullanmak isteriz. Bu aynı tablonun sütunları olabileceği gibi farklı tabloların sütunları da olabilir. Bu işlemi sunucu tabanlı scriptinize (PHP, ASP.NET gibi) yıkmaktansa verileri SQL sorgunuzda birleştirerek veritabanından birlikte çekmek scriptinizin yükünü azaltacaktır.
Aynı tablodan sütunları birleştirmek:
SELECT id,CONCAT(adi,soyadi) AS adisoyadi FROM uyeler
burada CONCAT() fonksiyonu adi ve soyadi sütunlarını sadece birleştirir. Yani çıktımız: “MuhittinÖzer” şeklinde olur.
Verileri birleştirirken ayırıcı kullanmak:
SELECT id,CONCAT_WS(' ',adi,soyadi) AS adisoyadi FROM uyeler
bu sefer kullandığımız CONCAT_WS() fonksiyonu ise adi ve soyadi sütunlarını birleştirirken bir de araya ilk girdi değeri olarak verdiğimiz boşluğu sokar. Çıktımız: “Muhittin Özer” olur.
Farklı tablolardan sütunları birleştirmek:
SELECT a.id,CONCAT_WS(' ',a.adi,a.soyadi,b.mezuniyet) FROM uyeler AS a INNER JOIN bilgiler AS b ON a.id=b.uye_id
Burada da uyeler tablosundan adi ve soyadi sütunlarını, bilgiler tablosundan da mezuniyet sütununu aldık ve aralarda boşluk bırakarak birleştirmiş olduk. Çıktımız ise: “Muhittin Özer 2005” oldu.

Kendime Not #2: MySQL sütunları birleştirme (CONCAT) için 6 cevap
Ahmet 12 Temmuz 2009
Güzel paylaşım yalnız bir sorum olacak, verdiginiz örnek isim soy isim sütunları birleşti ve yan yana çıktılarını aldık, bunu şu şekilde nasıl yaparız peki,
örnek veriyorum tablomda 2 adet tarih sütunu var ben bunları birleştirip listelemeyi bu birleştirme sonucunda tarihe göre yapmak istiyorum, bunda bi fikriniz varsa yardımcı olursanız sevinirim tşk.
Muhittin Özer 18 Temmuz 2009
Tam olarak ne yapmak istediğinizi anlayamadım. Bu tarihleri string olarak mı birlştirmek istiyorsunuz? String olarak birleştirdiğiniz takdirde listeleme neye göre olacak? Konuyu biraz açarsanız yardımcı olmaya çalışayım.
Ahmet 24 Aralık 2009
Peki hocam ekrana bastırırken bu şekilde gayet güzel çalışıyor fakat benim yapmak istediğim iki sütunu birleştirmek ve birleşen 2 sütunda LIKE fonksiyonuyla arama yapmak yani ad ve soyad sütunları birleşip dışardan gelecek olan ad soyadı karşılaştırıcam sonuç var ise ekrana bartırıcam. Bir kaç deneme yaptım ama sonuç alamadım.
Ahmet 24 Aralık 2009
Sorun halloldu teşekkürler:
Select m.adi,m.soyadi,m.tip,a.adid,s.soyadid,CONCAT_WS(‘ ‘,a.ad,s.soyad) As AdSoyad From musteri m INNER JOIN adlar a ON a.adid=m.adi INNER JOIN soyadlar s ON s.soyadid=m.soyadi Where CONCAT_WS(‘ ‘,a.ad,s.soyad) LIKE ‘%”&Str&”%’”
gibi bir sorgu işimi gördü..
anka security 04 Nisan 2011
merhaba
mysql de birden fazla satırı birleştirip tek satirda gostermemiz mümkünmüdür?
saygılar
Muhittin Özer 22 Ağustos 2011
@anka security: sorgu içinde birleştirmek için yazıdaki metodu kullanabilirsiniz. Bunun haricinde eğer çok sık lazım olan bir birleştirme işlemi ise yine benzer bir metodla bir view oluşturup o view üzerinden sorgu yapmanız mümkün.