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

 时间:2024-09-22 04:14:42

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使用写法

批处理打开软件 为连接配置网络级身份验证 怎样使用TOAD导入dmp数据库 vs2015如何附加进程调试 VMWare装Win10提示Device/CredentialGuard处理
热门搜索
几米漫画 小男孩发型图片 最爱你的那十年漫画 中秋节快乐图片 力帆汽车报价及图片