SQL Server’da Belirli Bir Sütuna Sahip Tabloları Sorgulama Yöntemi

Veritabanları dünyasında, bazen çok sayıda tabloda belirli bilgileri bulmanız gerekebilir. Geliştiricilerin ve analistlerin karşılaştığı yaygın bir senaryo, belirli bir alan veya sütun adı içeren tüm tabloları tanımlama gereksinimidir. Bu, manuel aramanın verimsiz ve zaman alıcı olduğu büyük veritabanlarında özellikle zorlayıcı olabilir.

Bu yazıda, belirli bir sütun adı olan tüm tabloları almak için SQL Server’da nasıl bir SQL sorgusu oluşturacağınıza yönelik adım adım ilerleyeceğiz.

Zorluk

Diyelim ki büyük bir SQL Server veritabanında çalışıyorsunuz ve Desired_Column_Name adlı bir alan içeren her tabloyu bulmanız gerekiyor. Her tabloyu tek tek incelemek yerine, bir SQL sorgusu bu süreci otomatikleştirerek zaman ve çaba tasarrufu sağlar.

Çözüm: SQL Sorgusu

Belirttiğiniz sütun adını içeren tabloların kapsamlı bir listesini almak için INFORMATION_SCHEMA.COLUMNS görünümünü kullanacaksınız. Bu sistem görünümü, veritabanındaki her sütun hakkında zengin bir bilgi kaynağı sağlar.

Adım Adım Açıklama

İşte bu amaca ulaşmanıza yardımcı olacak SQL sorgusu:

SELECT Table_Name
FROM INFORMATION_SCHEMA.COLUMNS
WHERE Column_Name = 'Desired_Column_Name'
GROUP BY Table_Name

Sorgu Bileşenlerinin Açıklaması

  1. SELECT Table_Name:

    • Sorgunun bu kısmı, tablo adlarının alınmak istendiğini belirtir.
  2. FROM INFORMATION_SCHEMA.COLUMNS:

    • INFORMATION_SCHEMA.COLUMNS, veritabanındaki her sütun için bir satır içeren bir sistem katalog görünümüdür. Bu görünümü sorgulayarak, her sütun hakkında, adını ve ait olduğu tabloyu içeren detaylı bilgiye ulaşabiliriz.
  3. WHERE Column_Name = ‘Desired_Column_Name’:

    • Burada, belirttiğiniz isimle eşleşen sütunları filtrelemek için bir koşul ayarlıyoruz. 'Desired_Column_Name' kısmını ilgilendiğiniz sütunun gerçek adıyla değiştirin.
  4. GROUP BY Table_Name:

    • Bir tablonun birden fazla sütun adı içerebileceği için (farklı şemalar nedeniyle), her tablonun yalnızca bir kez listelendiğinden emin olmak için sonuçları Table_Name ile gruplayarak topluyoruz.

Örnek Uygulama

Diyelim ki EmployeeID adlı bir sütuna sahip tüm tabloları bulmak istiyorsunuz. Aşağıdaki sorguyu çalıştırmalısınız:

SELECT Table_Name
FROM INFORMATION_SCHEMA.COLUMNS
WHERE Column_Name = 'EmployeeID'
GROUP BY Table_Name

Sonuç

Bu sorguyu çalıştırmak, EmployeeID sütununu içeren tablo isimlerinin benzersiz bir listesini döndürecektir. Böylece bu bilginin veritabanınızda nerede saklandığını kolayca tanımlayabilirsiniz.

Sonuç

SQL Server’da sütun adıyla tablo aramak zor bir görev olmak zorunda değil. INFORMATION_SCHEMA.COLUMNS görünümünü basit bir SQL sorgusuyla kullanarak, ihtiyacınız olan bilgileri hızla elde edebilirsiniz.

Bu etkili sorgulama tekniği hakkında bilgi sahibi olarak, veritabanı yönetim becerilerinizi geliştirebilir ve veri keşif sürecinizi kolaylaştırabilirsiniz. İyi sorgulamalar!