加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql中不同连接操作的用途是什么

发布时间:2020-12-12 08:51:33 所属栏目:MsSql教程 来源:网络整理
导读:sql中不同连接操作的用途是什么?就像我想知道为什么我们需要不同的内部和外部连接? 解决方法 您真正需要的唯一类型的连接是LEFT OUTER JOIN.每个其他类型的连接可以根据一个或多个左外连接重写,也可能是一些过滤.那么为什么我们需要所有其他人呢?只是为了
sql中不同连接操作的用途是什么?就像我想知道为什么我们需要不同的内部和外部连接?

解决方法

您真正需要的唯一类型的连接是LEFT OUTER JOIN.每个其他类型的连接可以根据一个或多个左外连接重写,也可能是一些过滤.那么为什么我们需要所有其他人呢?只是为了迷惑人吗?如果只有一种类型的连接会不会更简单?

你也可以问:为什么两个< = b和b> = a?这些只是做同样的事情吗?我们难道不能摆脱其中一个吗?它会简化事情!

有时交换< = to> =而不是交换参数更容易.类似地,左连接和右连接与交换的操作数相同.但是,同样具有两个选项而不是要求人们以特定顺序编写查询是切实可行的.

您可以问的另一件事是:在逻辑中为什么我们有AND,OR,NOT,XOR,NAND,NOR等?所有这些都可以用NAND重写!为什么不拥有NAND?那么用NAND来写一个OR是awkward,而且目的并不明显 – 如果你写OR,人们立刻就会知道你的意思.如果你写了一堆NAND,那么你想要实现的目标并不明显.

同样,如果你想做一个FULL OUTER JOIN,你可以做一个左连接和一个右连接,删除重复的结果,然后联合所有.但这是一种痛苦,所以有一个简写.

你什么时候使用每一个?这是一个简化的规则:

>如果您始终需要LEFT表中每行的结果行,请使用LEFT OUTER JOIN.>如果您总是希望RIGHT表中每行的结果行,请使用RIGHT OUTER JOIN.>如果您始终希望任一表中的每一行都有结果行,请使用FULL OUTER JOIN.>如果在两个表中都有一行时只需要结果行,请使用INNER JOIN.>如果您想要所有可能的行对,每个表中有一行,请使用CROSS JOIN.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读