一般设置表的时候,不会像你这样设置的,你这样的话查询是很不方便的,像你写的查询语句,你想要的结果应该是B列的2、3行,但其实你得到是第1行,你的A列和B列应该是分为两个表进行输入,如:
10年的右玉网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站的优势是能够根据用户设备显示端的尺寸不同,自动调整右玉建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“右玉网站设计”,“右玉网站推广”以来,每个客户项目都认真落实执行。
这样你写语句时就可以以姓名作为连接把A、B表连接起来输出:
SELECT A.姓名,B.日期+B.姓名+B.运动 AS 内容 FROM A,B WHERR A.姓名=B.姓名
这句查询语句,就是把A表里有的姓名,匹配在B表中找到结果
一、查询包含某字段的所有表、视图和存储
格式:
注意:其中类型P、U、V分别对应存储、表和视图。
例子:
查询结果:
二、查询包含某字段(或某内容)的所有存储过程
查询存储中包含某些内容的所有存储。
格式:
例子:
查询结果:
以前写过类似的,参考一下:
declare @str nvarchar(20)
declare @tablename varchar(50)
declare @colname varchar(50)
declare @counts int
declare @sql nvarchar(2000)--以上定义变量
declare cur1 cursor for
select a.name tablename,B.name colname from sys.objects a,syscolumns b where a.object_id=b.id and a.type_desc='USER_TABLE'--定义游标
set @str='CT无袖开胸上衣' --设置要查找的字符
Open cur1 --打开游标
Fetch next From cur1 Into @tablename,@colname
While(@@Fetch_Status = 0) --循环
Begin
set @sql=N'select @counts=COUNT(*) from ' + @tablename + ' where charindex('''+@str+''','+@colname+')0'
exec sp_executesql @sql,N'@counts int output',@counts output --执行动态sql
if @counts0 --判断某个表某个字段是否存在特定字符
begin
print @tablename+','+@colname --打印表名及字段名
end
Fetch next From cur1 Into @tablename,@colname
End
Close cur1 --关闭游标
Deallocate cur1 --释放游标
可用两种方法,一种是在Microsoft SQL Server Manager Studio中的图形界面查询,另一种是语句查询。
方法1:
1、使用Microsoft SQL Server Manager Studio登录数据库。
2、在左边树找到要查的表,并点击前边的“+”
3、点击“列”前边的“+”
4、然后就可以看到要查的字段的类型了,如图:
方法2:
直接用语句查询,如要查student表中的所有字段类型:
select a.name 表名,b.name 字段名,c.name 字段类型,c.length 字段长度 from sysobjects a,syscolumns b,systypes c where a.id=b.id
and a.name='student' and a.xtype='U'
and b.xtype=c.xtype
结果截图:
一、举个例子
表名为zwj,字段为sp,查询sp字段中含有'所有'的语句为select * from zwj where sp like '%所有%' --表名为zwj,字段为sp,查询sp字段中含有'所'或'有'的语句为select * from zwj where sp like '%所%' or sp like '%有%'
二、含有医院编号字段的所有表
select a.[name] 表名 from sysobjects a,
( select [id],count(*) b from syscolumns
where [name] ='HospitalId'
group by [id])
b where a.[id]=b.[id]
三、同时含有医院编号和科室编号字段的所有表
select a.[name] 表名 from sysobjects a
left join
(select [id],count(*) b from syscolumns where [name]
in('HospitalId','DepartmentId') group by [id] having count(*)1) b
on a.[id]=b.[id]
where b.id is not null
sqlserver数据库主要特性:
(1)高性能设计,可充分利用WindowsNT的优势。
(2)系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。
(3)强壮的事务处理功能,采用各种方法保证数据的完整性。
(4)支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。 SQLServer以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台。
1.在SQLSERVER 管理器中选中视图点击右键选择设计,在设计画面中可以看到栏位及来源表,逻辑等
2.在SQLSERVER 管理器中选中视图点击加号(+)展开,在栏位下可以看到
3.使用SQL语句,select * from 视图名,在结果中也可以看到栏位
楼上的 这3中方法都是比较直接 也比较正确
真正用sql 查询 视图字段
select name from syscolumns where id=object_id('视图名')
这样直接数据 就是视图的各个字段