在SQL SERVER查询语句当中关于两表链接的语句有很多,其中我从资料上查得CROSS JOIN和INNER JOIN这两个语句,查从实际的操作上这两个链接语句的使用好像对于实际的操作上影响不大,请问各大高手,这两个语句当中在实际使用的时候应该要怎样正确使用呢?谢谢!
SQL数据库中cross join 和inner join区别为:连接不同、条件筛选不同、语法不同。
一、连接不同
1、cross join :cross join将A表的所有行分别与B表的所有行进行连接,返回的记录数为两个表的记录数乘积。
2、inner join:inner join组合两个表中的记录,只有公共字段之中有相符的值才进行连接。
二、条件筛选不同
1、cross join :cross join不能在连接时进行条件筛选。
2、inner join:inner join可以通过on关键字,在连接时进行条件筛选。
三、语法不同
1、cross join :cross join 的语法不加on关键字,为SELECT * FROM table1 CROSS JOIN table2。
2、inner join:inner join的语法可以加on关键字,为SELECT * FROM table1 INNER JOIN table2 ON table1.field1 = table2.field2。