本文将通过示例,介绍如何编写 SQL 查询来查找包含特定列名的所有表。在本示例中,我们将使用以下数据库。下面的屏幕截图将显示该数据库中的表。

在 SQL Server 中查找包含特定列名的所有表
在此 SQL Server 示例中,我们使用 INFORMATION_SCHEMA.COLUMNS 来获取表名,其中列名等于 Education。
SELECT TABLE_CATALOG,
TABLE_SCHEMA,
TABLE_NAME,
COLUMN_NAME,
ORDINAL_POSITION,
DATA_TYPE,
CHARACTER_MAXIMUM_LENGTH
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME like '%Education%'
ORDER BY TABLE_NAME

查找具有特定列名的表
在此示例中,我们使用 sys.column 来获取列信息,使用 sys.tables 来获取数据库表名。
SELECT col.name AS [Column Name],
tab.name AS [Table Name]
FROM sys.columns col
INNER JOIN
sys.tables tab
ON col.object_id = tab.object_id
WHERE col.name LIKE '%Education%'
ORDER BY [Table Name],
[Column Name]
