excel怎么连接sql数据库

excel怎么连接sql数据库,第1张

打开EXCEL,新建一个空白工作表,点击数据菜单页面中的自其他来源,在下拉菜单中选项来自SQL Server选项。

在d出的数据连接向导中输入SQL Server服务器的名称或IP地址,并在登录凭证中输入正确的用户名和密码。并点击下一步按钮。

在选择数据库和表页面中选择要连接的数据,下方选择要显示的数据表名称,再点击下一步按钮。本例中我们选择CC数据库的SFC工作表。

在保持数据连接文件并完成这个步骤中,EXCEL会将连接信息保存在一个扩展名为ODC的文件中,并将其默认保存在电脑中我的文档下的我的数据源文件中。

最后一步就是将导入数据以什么方式显示以及保存在什么位置,本例中选择以表的方式保存在现有工作表并以A1单元格作为起始位置。点击确定完成连接导入。

稍等片刻后我们要连接的SFCr数据表就显示在我们指定的位置上了,整个过程完成。

(inner) join on 内链接 与 where 子查询 是一样的。
主要有区别是 left join right join 以及 full join,功能和性能跟where有差异
inner join
(等值连接)
只返回两个表中联结字段相等的行
WHERE 和INNER JOIN产生的连接关系,本质区别不详,结果一样。
(1)在效率上,Where可能具有和Inner join一样的效率。但基本可以肯定的(通过SQLServer帮助和其它资料,以及本测试)是Join的效率不比Where差。
(2)使用Join可以帮助检查语句中的无效或者误写的关联条件
(3)从可读性角度来看,Where更直观。
left join
left outer join
(左联接)
返回包括左表中的所有记录和右表中联结字段相等的记录
左向外联接的结果集包括 LEFT OUTER 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。
right join
right outer join
(右联接)
返回包括右表中的所有记录和左表中联结字段相等的记录
右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。
full join
full outer join
(全连接)
完整外部联接返回左表和右表中的所有行
当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。
如果表之间有匹配行,则整个结果集行包含基表的数据值。
Join & where总结:
where是两个表中的数据满足共同条件才会显示。
Jion on是相同条件匹配。
因此,除了inner join结果通常不一样。

where and和joinon的区别

1、where 是在两个表join完成后,再附上where条件

2、而 and 则是在表连接前过滤A表或B表里面哪些记录符合连接条件,同时会兼顾是left join还是right join。即

假如是左连接的话,如果左边表的某条记录不符合连接条件,那么它不进行连接,但是仍然留在结果集中(此时右边部分的连接结果为NULL)。on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。

3、建议尽量用where来过滤条件

比较:

1、用AND后的SQL和结果集。还是有383这条结果集

2、用where后的SQL和结果集。没有了这条记录

扩展资料

1、eft join :左连接,返回左表中所有的记录以及右表中连接字段相等的记录。

2、right join :右连接,返回右表中所有的记录以及左表中连接字段相等的记录。

3、inner join: 内连接,又叫等值连接,只返回两个表中连接字段相等的行。

4、full join:外连接,返回两个表中的行:left join + right join。

5、cross join:结果是笛卡尔积,就是第一个表的行数乘以第二个表的行数。

关键字: on

数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。

在使用left jion时,on和where条件的区别如下:

1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。

2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。

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`

1、打开Sql,连接数据库;

2、点击数据库前面的加号,展开数据库列表;

3、展开数据库列表后,鼠标右键单击数据库,在d出的列表里选择新建数据库,在d出的窗口中输入数据库名称,初始大小,然后点击确定即可;

4、点击数据库1前的加展开,右击表选择新建表,在d出的窗口内,输入列名选择数据类型,可在列属性中设置属性,然后点击左上角的保存,即可完成数据表的创建。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/13103677.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-30
下一篇2025-08-30

发表评论

登录后才能评论

评论列表(0条)

    保存