📄 linkedserverdemo18.sql
字号:
/*
文件名称:LinkedServerDemo18.sql
*/
-- 将「北风贸易」数据库中的「章立民工作室」数据表的数据记录返回
SELECT a.*
FROM OPENROWSET('SQLOLEDB',
'TPSERVER';'sa';'',
北风贸易.dbo.章立民工作室) AS a
ORDER BY a.部门, a.目前薪资 DESC
GO
-- 将查询结果返回
SELECT a.*
FROM OPENROWSET('SQLOLEDB',
'TPSERVER';'sa';'',
'SELECT * FROM 北风贸易.dbo.章立民工作室 ORDER BY 部门,目前薪资 DESC') AS a
GO
-- 没有为 OPENROWSET() 中的查询命令的每一个数据表指定别名, 此写法会使得程序显得冗长难读
SELECT a.*
FROM OPENROWSET('SQLOLEDB',
'TPSERVER';'sa';'',
'SELECT 北风贸易.dbo.客户.客户编号,
北风贸易.dbo.客户.公司名称,
SUM((北风贸易.dbo.订货明细.单价 * 北风贸易.dbo.订货明细.数量)
* (1 - 北风贸易.dbo.订货明细.折扣)) AS 订货总金额
FROM 北风贸易.dbo.客户 INNER JOIN 北风贸易.dbo.订货主档
ON 北风贸易.dbo.客户.客户编号 = 北风贸易.dbo.订货主档.客户编号
INNER JOIN 北风贸易.dbo.订货明细
ON 北风贸易.dbo.订货主档.订单号码 = 北风贸易.dbo.订货明细.订单号码
GROUP BY 北风贸易.dbo.客户.客户编号, 北风贸易.dbo.客户.公司名称') AS a
GO
-- 为 OPENROWSET() 中的查询命令的每一个数据表指定别名,此写法会使得程序更精简易读
SELECT 客户订货总金额.*
FROM OPENROWSET('SQLOLEDB',
'TPSERVER';'sa';'',
'SELECT a.客户编号,
a.公司名称,
SUM((c.单价 * c.数量) * (1 - c.折扣)) AS 订货总金额
FROM 北风贸易.dbo.客户 AS a
INNER JOIN 北风贸易.dbo.订货主档 AS b ON a.客户编号 = b.客户编号
INNER JOIN 北风贸易.dbo.订货明细 AS c ON b.订单号码 = c.订单号码
GROUP BY a.客户编号, a.公司名称') AS 客户订货总金额
GO
-- 为每一个 OPENROWSET() 指定一个数据表别名,此写法会使得程序更精简易读
SELECT 客户.客户编号, 客户.公司名称,
SUM((订货明细.单价 * 订货明细.数量) * (1 - 订货明细.折扣)) AS 订货总金额
FROM OPENROWSET('SQLOLEDB','TPSERVER';'sa';'',北风贸易.dbo.客户) AS 客户 INNER JOIN
OPENROWSET('SQLOLEDB','TPSERVER';'sa';'',北风贸易.dbo.订货主档) AS 订货主档
ON 客户.客户编号 = 订货主档.客户编号 INNER JOIN
OPENROWSET('SQLOLEDB','TPSERVER';'sa';'',北风贸易.dbo.订货明细) AS 订货明细
ON 订货主档.订单号码 = 订货明细.订单号码
GROUP BY 客户.客户编号, 客户.公司名称
GO
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -