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ı
-
SELECT Table_Name:
- Sorgunun bu kısmı, tablo adlarının alınmak istendiğini belirtir.
-
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.
-
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.
- Burada, belirttiğiniz isimle eşleşen sütunları filtrelemek için bir koşul ayarlıyoruz.
-
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.
- 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ı
Ö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!