SQLSERVER不同数据库联表查询
SQL Server跨库查询 转载,已经标注出处(侵权删)
方式一:(多个数据库均在同一个服务器上)
语句
SELECT * FROM 数据库A.dbo.表A a, 数据库B.dbo.表B b WHERE a.field=b.field
"DBO"可以省略 如
SELECT * FROM 数据库A..表A a, 数据库B..表B b WHERE a.field=b.field
方式二(数据库在不同服务器上,在一个数据库挂上另一个数据库的外链):
SqlServer数据库:
--这句是映射一个远程数据库
EXEC sp_addlinkedserver '远程数据库的IP或主机名',N'SQL Server'
--这句是登录远程数据库
EXEC sp_addlinkedsrvlogin '远程数据库的IP或主机名', 'false', NULL, '登录名', '密码'
--登录后,可以用以下格式操作远程数据库中的对象
select * from [远程数据库的IP或主机名].[数据库名].[dbo].[表名]
insert into openrowset('sqloledb','192.168.0.100';'sa';'10060','select * from knss2009.dbo.yw_kck') select * from yw_kck
示例:
--创建链接服务器
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 '
--查询示例
select * from ITSV.数据库名.dbo.表名
--导入示例
select * into 表 from ITSV.数据库名.dbo.表名
--以后不再使用时删除链接服务器
exec sp_dropserver 'ITSV ', 'droplogins '
方式三:
--连接远程/局域网数据(openrowset/openquery/opendatasource)
--1、openrowset (比较推荐这种做法)
--查询示例
select * from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)
--生成本地表
select * into 表 from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)
--把本地表导入远程表
insert openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)
select *from 本地表
--更新本地表
update b
set b.列A=a.列A
from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)as a inner join 本地表 b
on a.column1=b.column1
--openquery用法需要创建一个连接
--首先创建一个连接创建链接服务器
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
--查询
select *
FROM openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ')
--把本地表导入远程表
insert openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ')
select * from 本地表
--更新本地表
update b
set b.列B=a.列B
FROM openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ') as a
inner join 本地表 b on a.列A=b.列A
--3、opendatasource/openrowset
SELECT *
FROM opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ').test.dbo.roy_ta
--把本地表导入远程表
insert opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ').数据库.dbo.表名
select * from
跨库取数使用示例(注意做判断):
IF EXISTS(SELECT 1 FROM sys.synonyms WHERE name='SYN305_ys_CostAndCashSet')
DROP SYNONYM SYN305_ys_CostAndCashSet
GO
CREATE SYNONYM SYN305_ys_CostAndCashSet FOR [dotnet_erp305_hnjy].dbo.ys_CostAndCashSet
GO
不允许远程访问出现异常解决方案:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
SQLSERVER不同数据库联表查询相关推荐
- 数据库 の 联表查询
文章目录 一. 概念 比较详细的参考资料. 二.笛卡尔积 三.查询的分类 3.1按照功能来分 2.1等值连接 2.2 为表起别名 2.3加筛选条件 3.2 外连接 主表和从表的区分 一. 概念 联表查 ...
- mysql 回退查询_MYSQL数据库表排序规则不一致导致联表查询,索引不起作用问题...
Mysql数据库表排序规则不一致导致联表查询,索引不起作用问题 表更描述: 将mysql数据库中的worktask表添加ishaspic字段. 具体操作:(1)数据库worktask表新添是否有图片字 ...
- mysql改了排序规则不生效_Mysql数据库表排序规则不一致导致联表查询,索引不起作用问题...
Mysql数据库表排序规则不一致导致联表查询,索引不起作用问题 表更描述: 将mysql数据库中的worktask表添加ishaspic字段. 具体操作:(1)数据库worktask表新添是否有图片字 ...
- 《MySQL》入门基础知识点大全:数据库操作、增删改查、联表查询、常用函数、MD5加密、事务特性、隔离级别
MySQL基础知识大全 1.操作数据库 1.1 创建表 1.2 修改表名 1.3 增加表的字段 1.4 修改表的字段 1.4.1 修改表的字段 1.4.2 修改表名 1.5 删除表的字段 1.6 删除 ...
- 联表查询和嵌套查询—读懂数据库仓储
数据仓储不像java.C++.JS等开发语言,而是数据库仓储更多用于对接产品工作,查询数据.分析数据.得出产品未来发展方向,与产品经理相关联,而联表查询和嵌套查询作为数据库基础的查询方法,学习使用,方 ...
- 宅在家里写数据库中联表查询
联表查询的关键字是join,如果需要判断条件的话是join on(on后面加判断条件),这两个一般是成对出现的,这里以两个表的连接进行讲解,首先给出两个表,分别是student学生表和result成绩 ...
- mysql数据库之联表查询
表准备: 这次我们用到5张表: class表: student表: score表: course表: teacher表: 表结构模型: 我们针对以下需求分析联表查询: 1.查询所有的课程的名称以及对应 ...
- oracle数据库同时实现联表查询和分页查询(未明确定义列)
ps:只是记录新手小白的脱坑之路,大佬勿喷 今天在做前端数据查询的时候,在实现联表查询的同时进行分页查询遇到了令人头秃的问题,分页查询的sql语句是这样的 select * from (select ...
- mysql 连表查询_mysql数据库之联表查询
表准备: 这次我们用到5张表: class表: student表: score表: course表: teacher表: 表结构模型: 我们针对以下需求分析联表查询: 1.查询所有的课程的名称以及对应 ...
- Spring Hibernate JPA 联表查询 复杂查询
(转自:http://www.cnblogs.com/jiangxiaoyaoblog/p/5635152.html) 今天刷网,才发现: 1)如果想用hibernate注解,是不是一定会用到jpa的 ...
最新文章
- matlab regress()
- 判断Java 对象实例是否死亡
- 【GRE协议】CentOS配置GRE隧道
- Python实现一条基于POS算法的区块链
- 《梦断代码》随笔第2篇
- 兼容IE8以下,获取className节点的元素(document.getElementsByClassName()兼容写法)。
- Springboot 下 ModelAndView 的简单使用
- 数据分析3_淘宝用户行为分析_阿里云天池
- Python第五天的学习分享
- Promise的含义和用法
- iphone开发之仿微信用户引导界面的实现
- Appium+python自动化(六)- 连接模拟器并启动淘宝APP(超详解)
- excel简单操作。python
- linux踢人命令 pkill踢人用法
- Apollo + Springboot 整合(多环境版)
- WDM 驱动程序开发
- React使用过程知识点随手记
- 【ACL2020】香侬科技提出基于span prediction的共指消解模型
- 获取Alexa排名数据接口
- oracle查看最近三十天的记录,以及排序一定要变成int类型
热门文章
- NERO8.3.6.0(官方完整版+序列号)
- vs2013 旗舰版 密钥
- 【最新最全】JavaScript从入门到精通_Web前端必学的JS教程
- eop 文件打包下载大全 - 9000多首歌曲打包免费百度云下载
- 致远oa系统报价_用友致远OA 系统 一般价钱?(公司60-70台左右的电脑)
- 局域网内网关欺骗获取网站密码
- 记一次wireshark抓取QQ好友IP和火绒抓取微信IP
- 通俗易懂讲解javaSocket编程
- python tushare
- 苹果Mac设备丢失时怎样利用激活锁保护隐私信息?