原来join=inner join,left/right/full join=left/right/full outer join。
join/inner join仅返回匹配的
left outer join返回左边每一项,右边不匹配的就null,right反之
full outer join返回左右的,顺序由上到下先是匹配的,不匹配的在后面,表达式写在前的(A full outer join B中的A)也在前,不匹配的为null
union必须有相同数量的列,并且列的数据类型要相似。默认取不同的值,先取A的第一条的第一列和B比,再取A的第二条第一列和B比。
要允许重复,则要加上all,加了all之后就是简单的把两个表叠加,先A后B。表达式写在前的(A union B中的A)也在前
cross join不加where的话,为笛卡尔积,就是(A cross join B)的A先全列出来,B取第一条,再A全取出来接B的第二条,一直取完。与","效果等同。
其它的join使用on代替where,cross join不能使用on,要再加where,效率很低
好像是这样,也可能有些错误,再多学习一下,以后感想就贴在这,作为自已学习的记录,可惜微博字数限制,不然放那挺好。源码还放百(和谐)度空间也行
时间: 2024-10-15 21:45:30