养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

sqlserver关联查询的INNER JOIN使用写法

时间:2024-09-22 03:28:50

sqlserver数据库在查询过滤的时候,经常需要关联其他的表联合查询,当需要同时满足两张表的结果的时候,就可以使用INNERJOIN查询了

方法/步骤

1、创建一个临时表,用于演示sqlserver语法中的INNERJOIN使用IFOBJECT_ID('tempdb..#tmp1')ISNOTNULLDROPTABLE#tmp1;CREATETABLE#tmp1(ENamevarchar(50),--姓名EAddressvarchar(200)--地址);

sqlserver关联查询的INNER JOIN使用写法

2、创建另外一个临时表,用于演示sqlserver语法中的INNERJOIN使用IFOB亭盍誓叭JECT_ID('tempdb..#tmp2'像粜杵泳)ISNOTNULLDROPTABLE#tmp2;CREATETABLE#tmp2(ENamevarchar(50),--姓名ETitlevarchar(200)--头衔);

sqlserver关联查询的INNER JOIN使用写法

3、往临时表中插入几行测试数据,其中包辖艮鲔鸣括插入Null值insertinto#tmp1(EName,EAddress)values('员工1&#泌驾台佐39;,'中国北京');insertinto#tmp1(EName,EAddress)values('员工10',NULL);insertinto#tmp1(EName,EAddress)values('员工100','法国巴黎');insertinto#tmp2(EName,ETitle)values('员工1',NULL);insertinto#tmp2(EName,ETitle)values('员工10','职员');insertinto#tmp2(EName,ETitle)values('员工99','经理');

sqlserver关联查询的INNER JOIN使用写法

4、查询临时表中的测试数据select*from#tmp1;select*from#tmp2;

sqlserver关联查询的INNER JOIN使用写法

5、使用INNERJOIN关联两张表,查询地址不为空的结果,这种写法其实是不推荐的select*from#tmp1ainnerjoin#tmp2bonb.EName=a.ENameanda.EAddressISNOTNULL

sqlserver关联查询的INNER JOIN使用写法

6、使用INNERJOIN关联两张表,查询地址不为空的结果,推荐写法,join子句中不要带过滤条件,仅含关联条件select*from#tmp1ainnerjoin#tmp2bonb.EName=a.ENamewherea.EAddressISNOTNULL

sqlserver关联查询的INNER JOIN使用写法

7、从上面两种写法的结果相同可以看出,使用innerjoin关联的情况,过滤语句写在join子句和where子句是一样的效果。但是,其他关联,如leftjoin条件写在两个地方的效果是不一样的

sqlserver关联查询的INNER JOIN使用写法

© 一点知识