📅  最后修改于: 2023-12-03 15:40:23.335000             🧑  作者: Mango
在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.columns
和 sys.tables
都是系统表,用于存储有关数据库对象的元数据。
c.name
和 t.name
分别表示列和表的名称。
c.object_id
和 t.object_id
分别是列和表的对象ID,用于在 INNER JOIN 子句中将这两个表连接起来。
c.name LIKE '%指定列名称%'
是一个模糊搜索,用于筛选出所有包含指定列名称的列。
ORDER BY t.name
用于按表名升序排列结果。
希望这个SQL查询对你有所帮助!