SQL join小结

原来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,效率很低

好像是这样,也可能有些错误,再多学习一下,以后感想就贴在这,作为自已学习的记录,可惜微博字数限制,不然放那挺好。源码还放百(和谐)度空间也行