📜  查找包含具有指定名称的列的所有表 - MS SQL Server - SQL (1)

📅  最后修改于: 2023-12-03 15:40:23.335000             🧑  作者: Mango

查找包含具有指定名称的列的所有表 - MS SQL Server - SQL

在MS SQL Server中,我们可以使用以下SQL查询来查找包含具有指定名称的列的所有表:

SELECT c.name AS 'Column Name', t.name AS 'Table Name'
FROM sys.columns c
INNER JOIN sys.tables t ON c.object_id = t.object_id
WHERE c.name LIKE '%指定列名称%'
ORDER BY t.name

此查询将返回包含具有指定名称的列的所有表的列名和表名。你可以将 %指定列名称% 替换成你要搜索的列名称。

说明:

  • sys.columnssys.tables 都是系统表,用于存储有关数据库对象的元数据。

  • c.namet.name 分别表示列和表的名称。

  • c.object_idt.object_id 分别是列和表的对象ID,用于在 INNER JOIN 子句中将这两个表连接起来。

  • c.name LIKE '%指定列名称%' 是一个模糊搜索,用于筛选出所有包含指定列名称的列。

  • ORDER BY t.name 用于按表名升序排列结果。

希望这个SQL查询对你有所帮助!