SQL' de Left Join ile tabloları birleştirin

SQL' de iki tablodan veri çekmeniz mi gerekiyor? İki ayrı sorgu yerine tek sorguda bu işi bitirmeniz mümkün...

SQL' de iki tablodan veri çekmeniz mi gerekiyor? İki ayrı sorgu yerine tek sorguda bu işi bitirmeniz mümkün...

İki tablomuz olsun. tablo1 ve tablo2. tablo2 nin tablo1 ile bağlantısını sağlayan bag_id adında alanı olsun. tablo1'deki id numarası tablo2' deki bag_id numarasına eşit olması koşuluna dair SQL sorgusunu aşağıda gördüğünüz gibi yapıyoruz.


SELECT *

FROM tablo1 AS t1

LEFT JOIN tablo2 AS t2 ON t1.id = t2.bag_id

ORDER BY t1.id DESC



Sorguda gördüğünüz "ON" bağlacı tablo2 de hangi verinin tablo1 ile birleşeceği koşuludur. "WHERE" ile benzer görev taşımaktadır diyebiliriz.

Bu sorgu ile iki sorguda yapacağımız işi tek sorguda bitirmiş olduk.
  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

• 13 yıl önce
yanlız orda bir sorun var galiba select * from (tablo1) olması lazım tablo yazılmış dikkat...
• 13 yıl önce
Teşekkürler, düzeltilmiştir...
• 13 yıl önce
Bu çetrefilli bir meselenin ariz ve amip bir şekilde anlatımı olmuş... Emeğinize sağlık, çok güzel...
• 12 yıl önce
s.a hocam benim ufak bir sorunum var yazdığım bu sorgu localdeki mysql sürümünde çalışıyor ama hostumdakinde çalışmıyor left join olayı ile bana yardımcı olabilirmisin ? sorgu = SELECT SMEM.POSTS, SMEM.REALNAME, SMEM.EMAILADDRESS, SMEM.PERSONALTEXT, SMEM.BIRTHDATE, SMEM.LOCATION, SMES.SUBJECT, SMES.POSTERTIME FROM SMF_MEMBERS SMEM, SMF_MESSAGES SMES WHERE SMEM.ID_MEMBER = SMES.ID_MEMBER AND SMEM.ID_GROUP = 9 AND SMES.ID_MSG = (SELECT MAX(ID_MSG)

Yukarı Git