
F = FOREIGN KEY 约束L = 日志FN = 标量函数
IF = 内嵌表函数
P = 存储过程
PK = PRIMARY KEY 约束(类型是 K)
RF = 复制筛选存储过程S = 系统表TF = 表函数
TR = 触发器U = 用户表UQ = UNIQUE 约束(类型是 K)V = 视图X = 扩展存储过程 另:在sqlserver中取得某个数据库中所有表名的sql语句 select sysobjectsname from sysobjectsxtype ='U';SELECT name
WHERE (xtype = 'U') 在数据库的sysobjects表里有这个数据库全部表的信息, xtype值为'U'的就是表名 注意:一般通过上述方法获得全部用户表示都会有一个dtproperties表,SQLSERVER 默认它也是用户表,想要从用户表中排出,需要加上限定条件 status>0,即:select from sysobjects where xtype='U' and status>0需要变通一下,希望对你有帮助!
--sql-开始--------------
declare @row_limit int
set @row_limit=10
declare @sql NVARCHAR(1000)
set @sql='SELECT top '+cast(@row_limit as NVARCHAR(20))
+' [StoreID],[OrderNumber],[ShipmentID] '
+' FROM [1921681254][YY_Integration][dbo][Shipments] with(nolock) '
+' where storeid in (5,9) and [PrintedOn]>''2010-09-01'''
exec SP_EXECUTESQL @sql
--sql-结束----------------在查询分析器中,在mt-ap-09服务器中创建链接服务器
exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','mt-ap-07'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'
go
--在查询分析器中,建立sp
create proc pro_test
as
select name from HRDBdbopeople a
inner join srv_lnkMainDBdbocabinet b on aname=bname
where bflag=1
go
--按纽的代码写入如下(执行sp)
exec pro_test
1、同一个服务器跨数据库查询
selecta列1,a列2,b列1,b列1,from数据1dob查询表1ainnerJoin数据2dbo查询表2b
onb关联字段=a关联字段
where条件
2、不同服务跨数据库查询:
首先创建链接服务器,后查询方法与1类似,只是查询时需要把数据链接名称添加到查询中。
具体 *** 作参看:blogcsdnnet/htl258/article/details/5695391
使用SQL语句获得服务器名称和IP地址获取服务器名称:SELECT SERVERPROPERTY('MachineName')select @@SERVERNAMEselect HOST_NAME()获取IP地址SQL中多表查询可以使用链接查询1、union
union [all]
all:表示将查询的所有结果都合并到结果集中,若不加all会将重复的行只保留一行
1
2
--示例:
select from a union select from b
2、join
连接分为内连接、外连接、交叉连接
21、内连接 inner join (默认的连接方式)
只有至少有(指定的字段)一行的记录在两个查询表中都有记录,此时才有结果集。即 返回两个表之间的交集(相同字段的记录)
1
2
--示例:
SELECT FROM `a` INNER JOIN b ON aaaa = baaa
22、外连接
a、left join 左连接
返回查询表的记录,包含左边表的所有记录,如果左边表中的记录在右边表中没有对 应的记录,则所返回右边表的字段结果为空(差集)
1
2
--示例:
SELECT FROM `a` LEFT JOIN `b` ON aaaa = baaa
b、right join 右连接
与left join相反,查询的记录包含右边表的所有记录,如果右边表中的记录在左边表 中没有对应的记录,则返回左边表的字段值为空(差集)
1
2
--示例:
SELECT FROM `b` LEFT JOIN `a` ON aaaa = baaa
c、full join 全连接
返回左表和右表中的所有记录,即两表的数据全部显示
1
2
--示例:
select from a full join b
3、cross in 交叉连接
不带where子句,返回两个表中所有笛卡尔积,记录数为a表和b表记录数的积
1
2
--示例:
SELECT FROM `b` CROSS JOIN `a`
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)