sql 已知列名找表名

yp_zhou 2008-07-31 02:17:02
请问怎么在sql中,我已知某一个列名,但现在要查找这个列在那个数据表或那几个数据表中,要怎么写sql语句呢?
...全文
167 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
中国风 2008-07-31
  • 打赏
  • 举报
回复
use master 
go
declare Roy cursor for
select Name from sysdatabases where dbid>4
declare @Data sysname
open roy
fetch next from roy into @Data
while @@fetch_status=0
begin
exec('use ['+@Data+'] select 數據庫='''+@Data+''',表名=a.Name from sysobjects a join syscolumns b on a.ID=b.ID and a.xtype=''U'' and b.Name=''列名''')
fetch next from roy into @Data
end
close roy
deallocate roy

leo_lesley 2008-07-31
  • 打赏
  • 举报
回复
select object_name(id) from syscolumns where [name] ='已知某一个列名'
情境四 公司管理数据库系统的查询 模块1 公司管理数据库系统的简单查询 一、教学目标 1.准确理解Transact-SQL查询语句的基本结构 2.能根据需要灵活使用查询语句的各子句 二、工作任务 公司所有雇员的信息都存储在companyinfo数据库的employee表中,该表中包含了雇 员的雇员ID、姓名、性别、出生年月、雇佣日期、特长、薪水7个字段和相应的记录,请 利用Transact-SQL的SELECT语句实现下列查询操作。 1. 查询所有雇员的信息,要求输出的结果格式如表4—1所示。 表4-1雇员的信息表 "姓名 "性别 "出生年月 "雇佣日期"特长 "薪水 " " " " " " " " 2. 查询所有'男'雇员的信息。 3. 按照如表4—2所示的格式,列出所有雇员的姓名和薪水。 表4-2雇员的姓名和薪水表 "雇员的姓名 "雇员的酬金 " " " " 4. 查询所有薪水超过3000元的雇员的信息。 5. 查询所有薪水在2000元至3000元之间的雇员的姓名和雇佣日期,并按雇佣日期的先后 排列。 6. 统计各种特长的雇员人数。 7. 查询所有姓'章'的雇员的信息。 三、相关实践知识 (一)按照任务1的要求查询公司所有雇员的信息。 操作步骤如下: 1.连接companyinfo数据库,有以下两种方法: 从"查询分析器"窗口的工具栏的下拉列表中选中公司管理数据库companyinfo。 在查询分析器窗口中输入如下命令,并运行。 USE companyinfo 在查询分析器窗口中输入以下查询语句 SELECT 姓名,性别,出生年月,雇佣日期,特长,薪水 FROM employee GO 2。执行查询语句方法. (二)按照任务2查询所有'男'雇员的信息。 查询语句如下: SELECT * FROM employee WHERE 性别='男' (三)按照任务3规定的格式,列出所有雇员的姓名和薪水. 为了使查询的结果更加友好,可以改变列的标题,即指定列的别名。已知在employee表中 有雇员的"姓名"和"薪水"字段,但任务要求显示结构为"雇员的姓名"和"雇员的酎金",可 以用AS引导给出列的别名。查询语句如下: SELECT 姓名 AS 雇员的姓名, 薪水 AS 雇员的酬金 FROM employee (四)按照任务4列出所有薪水超过的3000元的雇员的信息. 查询语句如下: SELECT * FROM employee WHERE 薪水>=3000 (五)按照任务5列出所有薪水在2000元至3000元之间的雇员的姓名、雇佣日期和薪水,并 按雇佣日期的先后排列。 查询语句如下: SELECT 姓名, 雇佣日期, 薪水 FROM employee WHERE 薪水 between 2000 and 3000 ORDER BY 雇佣日期 (六)按照任务6统计各种特长的雇员人数。 查询语句如下: SELECT 特长,count(*) 人数 FROM employee GROUP BY 特长 执行结果如下: 特长 人数 —-———-————-—---—-———-—————--—— —---—---——- 唱歌 2 二胡 2 钢琴 2 古筝 2 会计 1 计算机 8 书法 4 跳舞 2 武术 1 演讲 1 音乐 2 游泳 1 (所影响的行数为 12 行) (七)列出所有姓'章'的雇员的信息。 查询语句如下: SELECT * FROM employee WHERE 姓名 LIKE '章%' 四、相关知识 使用数据库和数据表的主要目的是存储数据,以便在需要时进行检索、统计或组织输 出,通过Transact—SQL的SELECT语句可以从表或视图中迅速、方便地检索数据。在众多 的Transact—SQL语句中,SELECT语句是使用频率最高的一个. 查询的最基本方式是使用SELECT语句,按照用户给定的条件从SQL Server 2000数据库中取出数据,并将数据通过一个或多个结果集返回给用户。 (一)SELECT语句结构 SELECT 语句的主要的子句可归纳如下: SELECT [ALL" DISTINCT] 〈目标表达式〉[,…〈目标表达式〉] [ INTO 〈新表名>] FROM <表名或视图名>[,… <表名或视图名>] [ WHERE 〈条件表达式〉 ] [ GROUP BY 〈列名1> [HAVING 〈表达式〉 ] ] [ ORDER BY 〈列名2> [ ASC " DESC ] ] 其中,包含子句SELECT ,INTO,FROM,WHERE,GROUP BY,HAVING,ORDER BY等,每个子句都有各自的用法和功能。 SELECT子句:指定由查询返回的列 . INTO子句:将检索结果存储到新表或视图中. FROM子

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧