到这里我想大家已经掌握了sql server的基本知识,但是真正在企业中仅仅掌握这些知识还是不够的,这一节将讲解一下多表查询,如果要查询的数据置于两个及两个以上的表中,该如何办呢?
假如每个表都有超过1000条数据,如果有三个表,如果我们直接去查询的话,也许可以达到目的,但是这里我想告诉大家的是,直接查询会造成笛卡儿积非常大(这里的三个表,每个表数据都大于1000,所以直接查询的话它的笛卡儿积就大于1000的立方),所以查询时尽量少用直接查询。
有人会问了,那用什么方法既可以达到目的,又可以避免笛卡尔积不至于过大呢?
当我们使用关联查询就可以解决这个问题,其实在实际查询中,大家肯定都已经使用了关联查询,那什么是关联查询呢?
关联查询即是将各表中相关联的数据提取出来进行查询,有了它,在多表查询中我们就可以节省不少查询时间和内存了。
假如我们有以下两个表:
tb_Teachers_info
tb_City_info
假如我们要查询出两个表中来China的教师的TeachersName 和City
SQL语句
select t.TeachersName,t.Cityfrom tb_Teachers_info t, tb_City_info c
where t.TeachersName=c.TeachersName;
输出结果:
下一节、Sql server中join的使用方法