SQL üzerinde çalışırken pek çok defa farklı tablolar arasında ilişkiler kurulur. Aynı verileri taşıyan birer field üzerinden bu işlem gerçekleştirilir. Ancak veritabanında bulunan bu verileri bir defada çekmek çok daha mantıklı bir çözümdür. Bunun için genellikle alt sorgular kullanılır.
Örneğin;
“SELECT id,ad,il_id, (SELECT ad FROM iller WHERE id=ilceler.il_id) AS il FROM ilceler;”
Ancak bu yöntemin en büyük dezavantajı eğer iki tablo arasında bir bağlantı bulunamazsa hiçbir verinin dönmeyişidir. Buna alternatif olarak SQL Join teknikleri kullanılabilmekte. Bunlar left join, right join, inner join, outer join gibi çeşitli adlar alsalar da LEFT JOIN bunların en yaygınıdır denilebilir.
Kullanımı ise şu şekilde örnekleyebiliriz:
“SELECT i.id,i.ad,i.il_id,il.ad AS iladi FROM ilceler AS i LEFT JOIN iller AS il ON i.il_id=il.id”
Burada aynı isimli elemanlar bulunduğu için hangi tablodaki veriyi çekeceğini kesinleştirmek için herbir elemanın başına ait olduğu tablonun adını ekledik. Örneğin id ve ad isimli elemanlar her iki tabloda da var. Bunun belirtilmemesi durumunda en son tanımlanın değerini almakta. Bu sebeple bu tablo adlarını kullandık. Hatta bunu yaparken uzun görünüp sorgu cümlesini karmaşıklaştırmamak adına table alias kullandık. Tablo adından sonra AS ifadesi bunun takma ad (alias) olduğunu göstermekte. Hatta bu ifadeye dahi gerek kalmadan bir boşluk bırakarak da bu tanımlama yapılabilmekte ancak böylesi daha anlaşılır olmakta.