1、创建一个临时表,用于演示sqlserver语法中的等值连接查询IF OBJECT_ID('tempdb..#tmp1') IS NOT NULL DROP TABLE #tmp1;CREATE TABLE #tmp1( Col1 varchar(50), Col2 varchar(200), Col3 int, Col4 datetime );
2、创建另外一个临时表,用于演示sqlserver语法中的等值连接查询IF OBJECT_ID('tempdb..#tmp2'像粜杵泳) IS NOT NULL DROP TABLE #tmp2;CREATE TABLE #tmp2( Col1 varchar(50), Col2 varchar(200), Col3 decimal(18, 4), Col4 varchar(50) );
3、往临时表中插入几行测试数据,其中某些数组在两个表虽然数据类型不同,但是插入相同的值insert into #tmp1(C泠贾高框ol1, Col2, Col3, Col4) values('Code1', '第1行', 1, '2019-04-25');insert into #tmp1(Col1, Col2, Col3, Col4) values('Code10', '第2行', 10, '2019-04-26');insert into #tmp1(Col1, Col2, Col3, Col4) values('Code100', '第3行', 100, '2019-04-27');insert into #tmp2(Col1, Col2, Col3, Col4) values('Code1', NULL, 1, '2019-04-25');insert into #tmp2(Col1, Col2, Col3, Col4) values('Code10', '第2行', 10, '2019-04-26');insert into #tmp2(Col1, Col2, Col3, Col4) values('Code100', '第N行', 100, '2019-04-30');
4、查询临时表中的测试数据select * from #tmp1;select * from #tmp2;
5、使用INNER JOIN关联两张表,查询Col2字符串列值相等的结果select *from #tmp1 ainner join #tmp2 b on b.Col1 = a.Col1where a.Col2 = b.Col2
6、使用INNER JOIN关联两张表,查询int类型的数字和decimal类型数字相等的结果,sqlserver会自动进行数据类型转换匹配select *from #tmp1 ainner join #tmp2 b on b.Col1 = a.Col1where a.Col3 = b.Col3
7、使用INNER JOIN关联两张表,查询detatime类型的日期与字符串类型日期相等的结果,sqlserver会自动进行数据类型转换匹配select *from #tmp1 ainner join #tmp2 b on b.Col1 = a.Col1where a.Col4 = b.Col4