当前位置: 首页 > 面试题库 >

SQL中的CROSS JOIN与INNER JOIN

金飞翼
2023-03-14
问题内容

CROSS JOIN和之间有什么区别INNER JOIN

交叉加入:

SELECT 
    Movies.CustomerID, Movies.Movie, Customers.Age, 
    Customers.Gender, Customers.[Education Level], 
    Customers.[Internet Connection], Customers.[Marital Status], 
FROM   
    Customers 
CROSS JOIN 
    Movies

内部联接:

SELECT 
    Movies.CustomerID, Movies.Movie, Customers.Age, 
    Customers.Gender, Customers.[Education Level], 
    Customers.[Internet Connection], Customers.[Marital Status]
FROM   
    Customers 
INNER JOIN 
    Movies ON Customers.CustomerID = Movies.CustomerID

哪一种更好,为什么我要使用其中一种呢?


问题答案:

交叉联接不会合并行,如果每个表中有100行且1对1匹配,您将得到10.000个结果,Innerjoin在相同情况下将仅返回100行。

这两个示例将返回相同的结果:

交叉联接

select * from table1 cross join table2 where table1.id = table2.fk_id

内部联接

select * from table1 join table2 on table1.id = table2.fk_id

使用最后一种方法



 类似资料:
  • 问题内容: SQL Server 2005上的以下代码段在与号“&”上失败: 有人知道解决方法吗? 更长的解释是,我需要更新XML列中的一些数据,并且我正在通过将XML值转换为varchar来进行搜索和替换类型的修改,并使用此转换进行替换和更新XML列。 问题答案: 标准中不允许标记内的文字“&”号,并且此类文档将无法通过任何解析器进行解析。 An将输出与号编码的符号。 如下代码: 将输出以下内容

  • 本文向大家介绍SQL Server中的SQL语句优化与效率问题,包括了SQL Server中的SQL语句优化与效率问题的使用技巧和注意事项,需要的朋友参考一下 很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解。比如: select * from table1 where name='zhangsan' and tID > 1000

  • 问题内容: 我对此方法有一个疑问:st显然是一个Statement对象。直接从这个甲骨文的Java教程: execute:如果查询返回的第一个对象是ResultSet对象,则返回true。如果查询可以返回一个或多个ResultSet对象,请使用此方法。通过重复调用Statement.getResutSet来检索从查询返回的ResultSet对象。 “ 一个或多个ResultSet对象 ” 是什么意

  • 本教程的重点是遵循敏捷方法,减少步骤数量并实施更有用的工具。 要理解这一点,了解SQL和NoSQL数据库之间的区别非常重要。 大多数用户都了解SQL数据库,并且对MySQL,Oracle或其他SQL数据库有很好的了解。 在过去的几年中,NoSQL数据库被广泛采用来解决各种业务问题和项目需求。 下表显示了SQL和NoSQL数据库之间的区别 - SQL NoSQL的 SQL数据库主要称为关系数据库管理

  • 本文向大家介绍SQL中print、sp_helptext的限制与扩展,包括了SQL中print、sp_helptext的限制与扩展的使用技巧和注意事项,需要的朋友参考一下 在SQL中,使用动态SQL是很常见的。有些复杂的计算,或是存储过程,代码很长,中间可能有多次执行SQL语句。而调试拼串的SQL语句却是件痛苦的事,很难看出来运行的语句是什么。所以我会经常使用print这个命令把运行前的语句打印到

  • 错误: 2018-12-12 19:47:12.935错误7454---[nio-8080-exec-1]O.A.C.C.C.[.[.[/].[dispatcherServlet]:servlet.Service()对于路径[]上下文中的servlet[dispatcherServlet]抛出异常[请求处理失败;嵌套异常为org.mybatis.spring.mybatissystemExcept