inner join sql(SQL语句(inner join,left out join,right out join三者的不同)
本文目录
SQL语句(inner join,left out join,right out join三者的不同
leftjoin:左连接,返回左表中所有的记录以及右表中连接字段相等的记录。rightjoin:右连接,返回右表中所有的记录以及左表中连接字段相等的记录。innerjoin:内连接,又叫等值连接,只返回两个表中连接字段相等的行。fulljoin:外连接,返回两个表中的行:leftjoin+rightjoincrossjoin:结果是笛卡尔积,就是第一个表的行数乘以第二个表的行数。declare@atable(aint,bint)declare@btable(aint,bint)insert@avalues(1,1)insert@avalues(2,2)insert@bvalues(1,1)insert@bvalues(3,3)select*from@aselect*from@b--左:select*from@aAaleftjoin@bBbonAa.a=Bb.a--右:select*from@aAarightjoin@bBbonAa.a=Bb.a--内select*from@aAainnerjoin@bBbonAa.a=Bb.a--外:select*from@aAafulljoin@bBbonAa.a=Bb.a--交叉连接select*from@acrossjoin@b看了就明白了
SQL中inner join,outer join和cross join的区别
使用join连表,缺陷的情况下是inner join,开发中使用的left join和right join属于outer join,outer join还包括full join
现有两张表,Table A 是左边的表。Table B 是右边的表。其各有四条记录,其中有两条记录name是相同的:
1.INNER JOIN 产生的结果是AB的交集
SELECT * FROM TableA INNER JOIN TableB ON TableA.name = TableB.name
2.LEFT JOIN 产生表A的完全集,而B表中匹配的则有值,没有匹配的则以null值取代。SELECT * FROM TableA LEFT OUTER JOIN TableB ON TableA.name = TableB.name
3.RIGHT JOIN 产生表B的完全集,而A表中匹配的则有值,没有匹配的则以null值取代。
SELECT * FROM TableA RIGHT OUTER JOIN TableB ON TableA.name = TableB.name图标如left join类似。
4.FULL JOIN 产生A和B的并集。对于没有匹配的记录,则会以null做为值。SELECT * FROM TableA FULL OUTER JOIN TableB ON TableA.name = TableB.name 可以通过is NULL将没有匹配的值找出来:SELECT * FROM TableA FULL OUTER JOIN TableB ON TableA.name = TableB.nameWHERE TableA.id IS null OR TableB.id IS null
5. CROSS JOIN 把表A和表B的数据进行一个N*M的组合,即笛卡尔积。如本例会产生4*4=16条记录,在开发过程中我们肯定是要过滤数据,所以这种很少用。SELECT * FROM TableA CROSS JOIN TableB
更多文章:

telnet不是内部或外部命令win10(Win10开启telnet服务不是内部或外部命令怎么办)
2025年3月12日 12:40

安卓市场下载到手机(怎样从安卓电子市场下载应用并安装到手机上,请详细一些,本人是智能机新手)
2025年2月28日 00:00

notice的形容词(notice都有什么词性,意思是什么)
2025年4月4日 00:10

discussion的动词(discussion的动词形式)
2025年4月3日 08:00

vuejs流程图插件(求推荐vue.js地址选择插件和地图插件)
2025年2月16日 10:00

switch语句中必须有break语句吗(C\u002FC++中switch语句为什么匹配到标签后不跳出)
2025年2月21日 20:50

eclipse插件有哪些(eclipse 字节码插件有哪些)
2025年3月16日 20:00

dissolving(disslove与solute的区别)
2025年3月11日 13:10

锚点皮肤什么意思王者(王者荣耀:锚点事件持续发酵,内部员工爆猛料,皮肤创作只用3天,对此你如何评价)
2025年2月12日 05:30

脚本语言基础知识(unity写脚本一般用什么语言都需要学哪些)
2025年2月23日 19:20

setinterval作用域(JS:为什么setinterval只技术一次)
2025年4月4日 15:40